#include<stdio.h>
#include<conio.h>
int main(){
char x[9];
for(i=0; i<=8; i++){
printf("\nEnter your guess: ");
scanf("%c", &x[i]);
}
}
这段代码有什么问题?当我输入x [i]的值时,循环运行两次,然后让我输入x [i + 1]的值。有人请解决这个问题。我知道这是一个简单的错误(不确定),但这是在惹恼我。
答案 0 :(得分:5)
scanf(" %c", &x[i]);
请注意%c
之前的空格。这个空格将确保忽略换行符。
输入字符并按Enter键时,缓冲区中会出现一个换行符,将在下一次迭代中拾取。所以你需要通过如上所示的方式忽略它。