scanf 前面加一个~是什么意思?

2014-08-18 16:41:16 +08:00
 razrlele
就像这样
while(~scanf("%d", &c))
2755 次点击
所在节点    问与答
3 条回复
GtDzx
2014-08-18 17:00:19 +08:00
~是按位取反 ~(-1) = 0
这条语句就是scanf()返回-1的时候不进入循环,返回其他值时进入循环。而-1恰好是EOF的值,所以就是没读到文件结束就进循环。
wisatbff
2014-08-18 17:47:36 +08:00
绝壁非主流写法
yangff
2014-08-18 18:12:28 +08:00
多组数据读到文件结束最常用的写法。
其次是while (scanf("%d",&n)!=EOF)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/128561

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX