55智能网
新记
C语言 int a=6,b=8,c=3;a>b&&++c;printf("%d\n",c),为什么结果不是4而是3。
如题所述
举报该文章
相关建议 2011-12-09
关键在这句
a>b && ++c;
这个表达式a>b为假,所以后面的++c没有执行。所以是3的。
(如果改为a<b,结果就是4了。)
你看一下逻辑运算符那一节吧,肯定有讲这个内容。
追问
那如果把&&换成||号,结果是不是正好相反?
追答
是的。
温馨提示:内容为网友见解,仅供参考
当前网址:
https://55.aolonic.com/aa/eqfcrrccc.html
其他看法
第1个回答 2011-12-09
a>b&&++c
就是(a>b) && (++c)
C语言执行&&时,第一个条件为假就不会再判断第二个,所以++c没有被执行
第2个回答 2011-12-09
你首先要理解&&, a>b&&++c 是假(0),所以是3,a<b&&++c,则是真(1),结果就会是4。
第3个回答 2011-12-09
前面有一个++C的语句,它会将C的值加一,所以是4。
第4个回答 2011-12-09
你这个代码写得好像有点问题吧!请你把可执行的代码拷上来再问吧!
1
2
下一页
相似回答
大家正在搜
相关问题
C语言 int a=6,b=8,c=3;a>b&...
C语言结果 int a=5,b=6,c=7,d=8,m=2,...
C语言中 int a=0,b=0,c=0; if(a&&++...
C语言怎样写一个程序得出a+b>c&&b==c的值,其中a=...
C语言问题~
C语言问题
c语言问题
c语言 问题 请问运行结果为什么c等于3而不是2?