为什么!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;
或运算后为真
y--是先使用y当前值,完成表达式后再自减1;
或运算后为真
第2个回答 2012-04-09
同意syht2000
我再来补充一点点,如果你输出y的值,你会发现y值为0。
我再来补充一点点,如果你输出y的值,你会发现y值为0。
第3个回答 2012-04-15
!表示非,x=1,所以!x=0(x只要是非零的数,!x就是零。)
y--,就是先使用用y值,然后执行y=y-1。
||表示或,0||1,就是1喽。。。
y--,就是先使用用y值,然后执行y=y-1。
||表示或,0||1,就是1喽。。。
第4个回答 2012-04-09
这是非常基础的东西啊,!是非,--是自减。