C语言中“if(!a[i]) 语句1”何意?

能不能解释下if的条件“!a[i]”是什么意思?
忘说谢谢大家了!

if的条件是这样判定的,如果为非零值认为为真,为0则为假。当用!a[i]时,说明a[i]为0时执行下面的语句。其中!为非,也就是说“反”,因为我们默认的是非零即为真,所以说原句省略了一部分他相当于if(!a[i]!=0),即(!a[i]是非零的)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2009-12-08
if(!a[i])就是判断 !a[i] 的值是真还是假,在C语言中0为假,非0为真
如果a[i]的值为0,那么!a[i]为1,if(!a[i])成立
如果a[i]的值不为0,那么!a[i]为0,if(!a[i])不成立
第2个回答  2019-11-04
“<<”
代表左移运算符.
a[i]<<=2
即:
将a[i]
对应的二进制向左移两位.
左移运算通过可以用来做2的多次方乘法,
左移1位等于乘以2的一次方
因此在不溢出的情况下:
a[i]<<=2;
其实等价于:
a[i]乘以2的2次方
即:
a[i]<<=2
等价于
a[i]=a[i]*2*2=a[i]*4
第3个回答  2009-12-08
a[i]是一个bool类型的
就是说 a[i]非真成立的话

相关了解……

你可能感兴趣的内容

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