你好,while( scanf(..) != EOF )中的!有什么用?感谢解答!


循环中,我输入了三次数据,问到的办法是使用ctrl+z,可是使用一次ctrl+z之后,依旧没有跳出死循环,并且也没办法进行再输入,后来尝试了输入三次ctrl+z之后,问题解决,但是有点迷惑,其他人的一次ctrl+z就可以解决问题,为什么我的就需要三次。希望得到一个比较详细的解答

引用 7 楼 自信男孩 的回复:
scanf成功则返回读入数据的个数,不成功则返回-1 所以想退出循环,输入任意非数字的字符就可以了
我想了解这个EOF的原因,解决办法我也了解不少啦,谢谢啊[/quote] 你用ctrl+d试试了吗?[/quote] 我的是Windows下,所以使用ctrl+z,linux使用的是ctrl+d,我的问题已经解决,只是不明白原理而已[/quote] 原理就是ctr+z是输入EOF,至于为什么可以在网上搜一下。[/quote]
引用 7 楼 自信男孩 的回复:
scanf成功则返回读入数据的个数,不成功则返回-1 所以想退出循环,输入任意非数字的字符就可以了
我想了解这个EOF的原因,解决办法我也了解不少啦,谢谢啊[/quote] 你用ctrl+d试试了吗?[/quote] 我的是Windows下,所以使用ctrl+z,linux使用的是ctrl+d,我的问题已经解决,只是不明白原理而已[/quote] 原理就是ctr+z是输入EOF,至于为什么可以在网上搜一下。[/quote]可是为什么要进行三次ctrl+z输入,才会真正跳出循环啊

我想了解这个EOF的原因,解决办法我也了解不少啦,谢谢啊[/quote]
我的是Windows下,所以使用ctrl+z,linux使用的是ctrl+d,我的问题已经解决,只是不明白原理而已[/quote]
原理就是ctr+z是输入EOF,至于为什么可以在网上搜一下。
问题已经通过啦,只是想了解原因
引用 3 楼 自信男孩 的回复:
我想了解这个EOF的原因,解决办法我也了解不少啦,谢谢啊[/quote] 你用ctrl+d试试了吗?[/quote] 我的是Windows下,所以使用ctrl+z,linux使用的是ctrl+d,我的问题已经解决,只是不明白原理而已
改成scanf(“%d”, &x) == 1 scanf成功则返回读入数据的个数,不成功则返回-1 所以想退出循环,输入任意非数字的字符就可以了
我想了解这个EOF的原因,解决办法我也了解不少啦,谢谢啊

改成scanf(“%d”, &x) == 1 scanf成功则返回读入数据的个数,不成功则返回-1 所以想退出循环,输入任意非数字的字符就可以了

scanf成功则返回读入数据的个数,不成功则返回-1
所以想退出循环,输入任意非数字的字符就可以了

我想了解这个EOF的原因,解决办法我也了解不少啦,谢谢啊[/quote]
你用ctrl+d试试了吗?
}

  如有不对的地方,非常欢迎给予指导!

  如果您觉得这篇文章对您有所帮助,您可以点击右边的“打赏”功能,也可以点击下方的“好文要顶”按钮,因为这两种肯定,都让我更加相信自己所做的工作是有意义的,也是支持我继续写下去的最大动力!
  感谢您给予的支持!

}

我要回帖

更多关于 while(scanf()!=eof)怎么用 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信