C语言编程问题!!!

char c='A';int i=1,j;执行语句j=!c&&i++
求详细解释!
尤其解释下!那里,!c什么意思?
还有C语言里感叹号的意思!
谢了,新手
我在网上查了为什么!C为假???

第1个回答  2011-10-07
! 是逻辑非运算符
由于 c = 'A' 非0 ,所以 !c 为 0
&&逻辑与运算
例如A&&B ,先判断A是否等于0,若不等于0在判断B是否等于0,如果A等于0则不对B进行判断
由于!c 为0 ,所以 j 最终为0,而 i++ 这个语句还没执行,所以 i 还是1
相同的逻辑或运算
例如 A||B ,如果A为1的话则不再对B进行判断
第2个回答  2011-10-07
你给个完整的语句啊,是不是这样的:if(j=!c&&i++)执行xx语句呢
如果这样的话就是说将c取否再赋值给j,再判断 j&&i++是否为真

C语言中的!表示否的意思
比如 a=0;
if(!a)执行a++
这个语句就是说如果 否a 为真,执行a++;
a本来是0的,但是加了个!就是真了,所以执行a++得到a等于1
第3个回答  2011-10-07
!的意思是逻辑非,c语言把非零值当作逻辑1看待,所以!c就是0,不过我怀疑你看错了,你把
j!=c看成j=!c了,虽然j=!c没有语法错误,但应该没人这样写代码追问

但是书上却是这样写=!不然的话我看书上例子就懂了,书上有写!=什么意思
所以
到底是题目错了,还是也可以?
求确定~~~

追答

!=的意思就是不等于

追问

书上有写!=什么意思!!!!!!!
我是问有没有=!这种写法!!!!!

追答

没有=!这样的写法,j=!c是这样解释的:j=(!c)

本回答被提问者采纳
第4个回答  2011-10-07
!号表示逻辑 非
!c&&i++ 中 c是个非0 的数,因此!c等于0;
0&&i++ 还是等于0;
因此j=0;
回答完毕
第5个回答  2011-10-07
先求!c和i++;!c=0,i++=2;然后执行&&,即0&&2=0;感叹号表示求非,由于c>0,故!c=0。
相似回答
大家正在搜