for循环不在c中工作

时间:2015-01-11 18:58:32

标签: c for-loop

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

1 个答案:

答案 0 :(得分:5)

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

请注意%c之前的空格。这个空格将确保忽略换行符。

输入字符并按Enter键时,缓冲区中会出现一个换行符,将在下一次迭代中拾取。所以你需要通过如上所示的方式忽略它。

相关问题