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