<分区>
我是c编程的初学者。我只是想知道为什么这个循环不能正常工作。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char x[8];
char t;
for (i = 0; i < 8; i++) {
scanf("%c", &t);
x[i] = t;
}
return 0;
}
标签 c
<分区>
我是c编程的初学者。我只是想知道为什么这个循环不能正常工作。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i;
char x[8];
char t;
for (i = 0; i < 8; i++) {
scanf("%c", &t);
x[i] = t;
}
return 0;
}
最佳答案
因为当从键盘给出任何输入时,我们需要按回车键来确认输入完成。此输入保留在缓冲区中,如果下一个输入是字符或字符串,则将输入存储在字符串或字符 var 中,不要等待输入该字符或字符串。在这种情况下,执行时给出的第一个输入将 char 存储在 X[0] 中,然后在 x[1] 中输入,依此类推。所以执行循环 8 次但它似乎是 4 次因为它只询问输入四次。检查将一个 printf 放入循环
关于c - 为什么这个循环只执行了 4 次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44878694/