这个c的二维数组读入出了什么问题

图片说明
为什么输入 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)

3个回答

空格,tab和换行对scanf来说都是空白字符,当scanf碰到空白字符,会略过缓冲区的所有空白字符直到遇到非空白字符。
你在%d后面加了一个空格,输入1 2 3 4回车后,必须再输入一个非空白字符才会让scanf停止读入。

你看看是不是你那个scanf中的空格的原因, 我这边用gcc是没问题的

qflyalltime
小羊也疯狂 有空格就会发生什么事?
大约 3 年之前 回复

空格和换行,scanf的键盘输入语句一般在敲如数值后按回车就会显示输入,我这里显示是对的

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐