C语言,这个结果为什么是3,0.怎么解释
发布网友
发布时间:2022-07-21 16:28
我来回答
共3个回答
热心网友
时间:2023-10-30 19:39
我想你的意思是:b=a<3&&a++>3
好吧,我给你详解。
有&&在,很明显是求a<3&&a++>3的逻辑值
逻辑值,当本表达式为假,逻辑值为0
当本表达式为真,逻辑值为1.那么,这个表达式既不满足a<3,又不满足a++>3
所以b=0 ;而且 如果前面一项不满足,后面不会执行a++,a仍等于3
热心网友
时间:2023-10-30 19:39
应该是b=a<0&&a++>3;
因为a<0为0,故可知a<0&&a++>3的值肯定为0,因此后边的a++>3不再求值(称为逻辑运算的短路),即a++未执行,所以a的值还是3。b的值为0。
热心网友
时间:2023-10-30 19:40
b=a<&&a++>3; 你确定这段代码没有写错