我在比較一個字符與if語句中的字符串有問題。 我試圖讓一個不太複雜的Hang子手版本,我被困在這一部分。 我已經嘗試了一切從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();
}
我不知道該怎麼做,而且我到處搜索我能做些什麼。我不想使用已經制作好的Hang子手遊戲,因爲我試圖教自己爲初學者,因爲這些代碼對於我簡單的頭腦來說太複雜了。
我想保持我的代碼簡單,並且可以在上面的代碼中看到,一切設置都很簡單。我完成代碼還有很長的路要走,但我只想在繼續之前找到解決此問題的解決方案。
謝謝!
'char word [3] =「car」;' - 呃,哦!這是行不通的。你需要4個字符來存儲字符串「汽車」。記住你需要一個額外的字符作爲空終止符。 –
你確定你的代碼有效嗎? O_o,我不是,看看這行'letter =='word [i]'' –