我被赋予了一项家庭作业任务,其任务是创建一个简单的hang子手游戏。以下是我的代码。我目前正在尝试使用getchar()
来请求用户输入一个小写字母,并查看它是否与他们应该猜测的单词中的某个字母匹配。从我非常有限的经验来看,我拥有的代码应该可以工作,并且当我逐步完成程序时,它看起来应该正常运行,但是当我真正运行该程序时,似乎跳过第二个getchar()
。任何人有任何建议或帮助?C getchar()hang子手游戏
#include "stdio.h"
#include "math.h"
int main(void) {
int(a);
int(b);
float(x);
float(c);
float(e);
int word[4] = {116, 101, 115, 116};
int guess[4];
c == 0;
a == 0;
b == 0;
printf("Welcome to Hangman\n");
printf("Input a word--one lower case letter at a time\n");
printf("Enter Guess: ");
x = getchar();
if (x > 122) {
printf(" Error, character must be a lowercase letter");
} else
if (x < 97) {
printf(" Error, character must be a lowercase letter");
} else
if (x == 116) {
printf("t is correct\n");
printf("%d", word[0]);
printf(" _");
printf(" _");
printf(" %d ", word[3]);
e = getchar();
if (e == 101) {
printf("e is correct\n");
printf("%d", word[0]);
printf(" %d", word[1]);
printf(" _");
printf(" %d ", word[3]);
} else
if (e == 115) {
printf("s is correct\n");
printf("%d", word[0]);
printf(" _");
printf(" %d", word[2]);
printf(" %d", word[0]);
} else {
printf(" You guessed wrong");
}
} else
if (x == 101) {
printf("e is correct\n");
printf("_");
printf(" %d", word[1]);
printf(" _");
printf(" _ ");
} else
if (x == 115) {
printf("s is correct\n");
printf("_");
printf(" _");
printf(" %d", word[2]);
printf(" _ ");
} else {
printf(" You guessed wrong");
}
}
什么是int(a);你的声明对于初学者是不正确的...尝试'int a;'也是'a == 0;'是'a'与零的比较,**不**为* * a *赋值零,尝试'a = 0;' –
这是垃圾代码。 –
'c == 0;'等人。不要做任何事情。 – Biffen