c语言程序设计试题求解

来源:百度知道 编辑:UC知道 时间:2024/06/08 20:56:14
void main()
{ int i=0,j=0,a=6;
if((++i>0)||(++j>0)a++;
printf("%d,%d,%d",i,j,a);
}
结果为什么是 1,0,7 为什么j不是1?

不知道对不对
或运算只要第一个成立不算第二个
书上好像有
记不得了

因为||运算只要前一个条件为真,程序就不再判断下一个条件,直接执行下个语句。

因为是++i||++j
所以以为++i之后i=1
已经满足>0条件
还有就是“或运算”不要再考虑后面的条件了
直接执行if后语句