{ int a,b,c; a=b=c=1; ++a||++b&&++c; printf("(1)a=%d,b=%d,c=%d尀n",a,b,c);}谁能将它详细剖析一下

2024-11-15 20:54:56
推荐回答(2个)
回答1:

C语言在做||运算时,如果第一个操作数为非零(真),不计算第二个操作数。所以在执行++a||++b&&++c;时,++a的值为非零,不在计算第二个操作数++b&&++c;因此程序执行结果为:
(1)a=2,b=1,c=1

回答2:

main()
{
int a,b,c; //定义三个整数
a=b=c=1; //赋值
++a||++b&&++c; // 做三个数的逻辑运算(++指自增,即a+1; “||”是逻辑“或”,“&”是逻辑“与”
printf("(1)a=%d,b=%d,c=%d\n",a,b,c);//输出

}