for循环在c中不起作用

For loop not working in c

#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] 的值。有人请解决这个问题。我知道这是一个简单的错误(不确定),但这让我很烦。

scanf(" %c", &x[i]);

注意 %c 之前的 space。 space 将确保忽略换行符。

当您输入一个字符并按下回车键时,缓冲区中会出现一个换行符,它将在下一次迭代中被拾取。所以你需要像上面那样忽略它。