c语言中“!a"是什么意思啊

如题所述

!是“非”的意思,!a就是“非a”
c语言中,判断句中的判断结果,除了可以用true和false表示以外,还可以用数字表示,0表示“否”(false),0以外的所有数字表示“是”(true),所以,如果a是个整数,当a=0时,a是false,所以!a就是true;当a!=0时,a是true,所以!a就是false
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-05-03
回答的好请采纳哦!!!

这是C语言中的“右移运算符”。一般情况下,他是按位操作。
特点:1.双目运算符,就像+、-、*、/一样,格式为(数1)>>(数2)
2.数1是被操作数,如被减数、被除数等;数2是右移位数。
3.优先级低,结合性:从左向右运算
如:8>>1=?表示将被移数向右移动1位

如何操作?
1.化十进制数为(注意了)对应的二进制数,对应指格式对应
2.通通右移,不足补0
3.化为十进制数
举例:short int a=8;a=a>>1;

1.a=0 000 1000
2.右移一位后:a= 0 000 100
3.补0:a=0 000 0100
4.化为十进制数:a=4

举例:int a=8;a=a>>1;
1.a=0 000 0000 0000 1000
2.右移一位后:a= 0 000 0000 0000 100
3.补0:a=0 000 0000 0000 0100
4.化为十进制数:a=4
第2个回答  2011-05-02
非a。 !(字符或数字)后的结果为0或者1, a在ascii码中的值不是0 那么!a就变成0了。
!0=1 !(任何非零输)=0。
第3个回答  2011-05-02
a的反。a=0,则!a不等于0,a不等于0,则!a等于0
第4个回答  2011-05-02
非a 即a为0时 !a就为非0值
a不为0时 !a就为0
相似回答