有C语言高手在吗?求帮助一些简单的题目:int x=1, y=1;表达式(!x||y--)是?

为什么!x=0?
y--是什么意思?为什么等于1?

这题题有几个知识点,包括运算符优先级以及C中逻辑值的处理,按运算符优先级的话,(!x||y--)相当于(!x)||(y--) ,不明白的话自己去查一下C 运算符 优先级,c中非0的值在做布尔运算的时候视为真,为0则为假(而且c中也没有专用的bool型,bool型在C中是用整型来表示的,0为假,1为真),--是自减算符,y--表示先使用y的值再做自减操作(与之相反如果是--y则表示y先自减1,然后再使用y),这样看就简单了.(!x||y--)的结果即相当于(!真)||(真) ,结果为真,输出的话就是1了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-04-09
非0数的!(非)都是0;
y--是先使用y当前值,完成表达式后再自减1;
或运算后为真
第2个回答  2012-04-09
同意syht2000
我再来补充一点点,如果你输出y的值,你会发现y值为0。
第3个回答  2012-04-15
!表示非,x=1,所以!x=0(x只要是非零的数,!x就是零。)
y--,就是先使用用y值,然后执行y=y-1。
||表示或,0||1,就是1喽。。。
第4个回答  2012-04-09
这是非常基础的东西啊,!是非,--是自减。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网