为什么输入 1 2 3 4 的时候 4 无法读入
输入1 2 3 4敲击回车 1 2 3 4 进入缓存区 循环4次读四个数并赋值啊?不知道出了什么问题
应该是scanf中多了个空格的问题。但是不知道有空格会有什么影响?
scanf("%d "&a)
scanf("%d",&a)
scanf("%d\n",&a) //都有啥区别?
scanf("%d ",&a)
空格,tab和换行对scanf来说都是空白字符,当scanf碰到空白字符,会略过缓冲区的所有空白字符直到遇到非空白字符。
你在%d后面加了一个空格,输入1 2 3 4回车后,必须再输入一个非空白字符才会让scanf停止读入。
你看看是不是你那个scanf中的空格的原因, 我这边用gcc是没问题的
空格和换行,scanf的键盘输入语句一般在敲如数值后按回车就会显示输入,我这里显示是对的