普通のC言語での質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ファウスト

普通のC言語での質問です

#1

投稿記事 by ファウスト » 16年前

私は今タイピングゲームの試作品を作っているのですが
表示した文字と入力した文字の比較でうまくいかず困っています
どうすれば比較することができるのでしょうか?
回答よろしくお願いします

toyo

Re:普通のC言語での質問です

#2

投稿記事 by toyo » 16年前

どうすればといわれても普通に比較演算子を使うとしか答えようが無いです
==

!=
で比較します

ファウスト

Re:普通のC言語での質問です

#3

投稿記事 by ファウスト » 16年前

==をつかってるんですがうまくいかないんです・・・
ソースコード書きます
#include<stdio.h>

int main(char *ss)
{

char a[/url] = "kyouhaiitennkidesune\n",c;
printf("%s",a);

gets(ss);
c = puts(ss);

if(c == a){
printf("おみごと!!");
}
else{
printf("残念");
}
return 0;
}

MNS

Re:普通のC言語での質問です

#4

投稿記事 by MNS » 16年前

文字列の比較で困っているとしたら、
strcmp などの文字列比較関数を使いましょう。
文字列の比較に==などの演算子は使うことができません。
(std::stringなどを使う、という手もありますが)。

ファウスト

Re:普通のC言語での質問です

#5

投稿記事 by ファウスト » 16年前

初心者さんありがとうございます!!
試してみます

Dixq (管理人)

Re:普通のC言語での質問です

#6

投稿記事 by Dixq (管理人) » 16年前

まず、比較するものが違います。
aはアドレスであるのに対し、cは1文字データそのものを入れる変数です。

例えば「この手紙に書いてあるAさんというのは3号棟に住んでるAさんのことか?」という事が調べたいのに
「中身と住所」を比較しているので
「この手紙に書いてあるAさんというのは3号棟のことか?」
のような意味不明な比較になってしまっています。

文字列の比較はMNSさんの仰る通り、関数を使うか、1文字ずつ調べていく必要があります。
また、「初心者」はポイントランク名であって、名前ではありませんので。

ファウスト

Re:普通のC言語での質問です

#7

投稿記事 by ファウスト » 16年前

また質問すいません・・・

なぜか入力した後うごかなくなるんですがどうしてなんでしょうか?
ソースコードはります
#include<stdio.h>
#include<string.h>
int strcmp(const char *ss,const char *a);
int main(char *ss)
{

char a[/url] = "kyouhaiitennkidesune\n";
printf("%s",a);


gets(ss);
puts(ss);

if(strcmp(ss,a) == 0){
printf("おみごと!!");
}
else{
printf("残念");
}
return 0;
}
という感じです・・・
たびたびすいません・・・

box

Re:普通のC言語での質問です

#8

投稿記事 by box » 16年前

ssを定義する場所と、定義する内容が根本的に違っています。
main関数の引数ではない場所で、配列として定義してください。
なお、string.hをインクルードしていますので、strcmpのプロトタイプ宣言は不要です。
そのプロトタイプ宣言は、string.hの中に書いてあります。

MNS

Re:普通のC言語での質問です

#9

投稿記事 by MNS » 16年前

まず、ssを引数にせず、グローバル変数にするか、a[/url]と同じように、main関数内で宣言してください。
また、ssは配列にしなくてはなりません。
ss[256]などと十分な大きさをとる必要があるでしょう。
あとは、
int strcmp(const char *ss,const char *a);
この宣言は必要ないと思います。

それくらいですかね。

ファウスト

できました!!

#10

投稿記事 by ファウスト » 16年前

おかげさまでできました!!ありがとうございました
MNS様
box様
管理人様
toyo様
また質問するかもしれませんがその時はおねがいします!!

閉鎖

“C言語何でも質問掲示板” へ戻る