搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ [新手提问]while(~scanf("%d", &n) && n)怎么理解
标题:
[新手提问]while(~scanf("%d", &n) && n)怎么理解
只看楼主
hunse
等 级:
新手上路
帖 子:1
专家分:0
注 册:2019-2-16
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:3
[新手提问]while(~scanf("%d", &n) && n)怎么理解
已经知道~是按位非运算符 ~EOF的值为0,&&n是什么意思啊?题目要求n=0输入结束
while(~scanf("%d", &n)!=~EOT)为什么不可以。。
搜索更多相关主题的帖子:
提问
while
scanf
输入
结束
2019-02-16 18:28
李少iii
来 自:KUNMING
等 级:
业余侠客
威 望:
2
帖 子:67
专家分:245
注 册:2018-10-4
第
2
楼
得分:7
&&n //即同时满足n为非0值
我不曾拥有梦想,但我坚信我有未来……
2019-02-16 19:46
lin5161678
等 级:
贵宾
威 望:
45
帖 子:1136
专家分:3729
注 册:2011-12-3
第
3
楼
得分:7
&& 是逻辑与运算符啊
两边的子表达式非0 求值结果是 1
'0'<=n && n<='9'
应该见过吧
https://zh.
2019-02-17 09:22
rjsp
等 级:
版主
威 望:
507
帖 子:8890
专家分:53117
注 册:2011-1-18
第
4
楼
得分:7
要求输入成功,且n不是0才继续。那么正确的代码应该是
while( scanf("%d",&n)==1 && n!=0 )
scanf的用法你自己看书,比如 scanf("%d%d",&a,&b),那么它可能返回 EOF、0、1、2。
在比赛中,争分夺秒,因为竞赛用例不可能有非预期字符,因此使用 scanf("%d",&n)!=EOF 也没问题,而且EOF一般(不是标准)为-1,那么 scanf("%d",&n)!=-1 等价于 ~scanf("%d",&n),这样写可以少打几个字。 (注,非比赛时的正常代码中写成scanf("%d",&n)!=EOF或~scanf("%d",&n)者都是大傻逼)
while( …… && n ) 等价于 while( …… && n==0 ) 不用说吧
2019-02-18 09:12
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-493093-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.545352 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved