scanf()将新行char留在缓冲区中我有以下程序: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行。是对的吗?但是,这只发生在char数据类型中吗?因为我没有int在第1,2,3行中看到数据类型的这个问题。是不是?
- 3 回答
- 0 关注
- 614 浏览
添加回答
举报
0/150
提交
取消