最佳答案
我有以下计划:
int main(int argc, char *argv[])
{
int a, b;
char c1, c2;
printf("Enter something: ");
scanf("%d", &a); // line 1
printf("Enter other something: ");
scanf("%d", &b); // line 2
printf("Enter a char: ");
scanf("%c", &c1); // line 3
printf("Enter another char: ");
scanf("%c", &c2); // line 4
printf("Done"); // line 5
system("PAUSE");
return 0;
}
正如我在 C 语言书中读到的那样,作者说 scanf()
在缓冲区中留下了一个换行符,因此,程序不会在第4行停下来让用户输入数据,而是将新的行符存储在 c2
中,然后移动到第5行。
Is that right?
但是,这只发生在 char
数据类型中吗?因为我没有在第1、2、3行中看到 int
数据类型的这个问题。对吗?