文字をif文内の文字列と比較する際に問題があります。 私はHangmanのあまり複雑すぎないバージョンを作ろうとしていて、私はこの部分に固執しています。 私はstrcmp()
とstrchr()
などのすべてを試しましたが、何も動作していないようです。C - if文に変数を一重引用符または二重引用符で囲む方法はありますか?
#include<stdio.h>
#include<string.h>
int main() {
int length, i;
int size=3;
char word[size]="car";
char letter;
//const char* word="car";
//const char* letter;
int guess;
length=strlen(word);
printf("The given word has %d letters.\n", length);
//do {
guess=0;
printf("Enter a letter:");
scanf("%c", &letter);
for (i=0; i<length; i++) {
if (letter== 'word[i]' && guess==0) {
guess=1;
}
/*if (strchr(letter, word[i])!=NULL && guess==0) {
guess=1;
}*/
}
if (guess=1) {
printf("Correct letter.\n");
}
else {
printf("Wrong letter.\n");
}
//} while();
}
私は何をすべきかというアイデアがありません。私は何をすることができるかについてはどこでも調べています。私は初心者として自分自身を教えようとしているので、すでに作られたハングマンゲームを使用したくないし、それらのコードは私の単純な心のために複雑すぎるためです。
私はコードを単純にしていますが、上のコードでわかるように、すべてが非常に簡単に設定されています。私はコードを完成させるにはまだまだ長い道のりですが、私が続行する前にこの問題の解決策を探したいだけです。
ありがとうございます!
'char word [3] =" car ";' - ああ、ああ!それは動作しません。文字列 "car"を格納するには4つの文字が必要です。ヌルターミネータのために1つの余分なcharが必要であることを忘れないでください –
あなたのコードは確実に動作しますか? O_o、私は、この行を見ていない 'letter == 'word [i]' ' –