c语言高手请进

2025-01-05 06:16:55
推荐回答(5个)
回答1:

1
y的值为3.
||表达式是先计算前面的部分, 若前面为"真"(即非0), 则后面的不执行, 且||表达式的值为1.
在t=++x||++y中, ++x的值为4, 是"真", 故后面的++y不执行. 所以, y的值为3. t为1.

你可以将t=++x||++y 看成这样:
++x;
if (x != 0)
t=1;
else
{
++y;
if (y != 0)
t=1;
else
t=0;
}

2
n的值为2.
&&类似,先计算前面的部分, 若前面为"假"(即0), 则后面的不执行, 且&&表达式的值为0.

(m=a>b)&&(n=c>d);中, m=a>b的值为0, 故后面的n=c>d不执行,即n仍为2

你可把(m=a>b)&&(n=c>d)看成:
m=a>b;
if (m!=0)
n=c>d;

回答2:

1.1 因为++x和++y的值都不为0,所以t的值就为1
2.0 因为c>d为假,值为0,所以n的值为0.

回答3:

1=) 3
2=) 2

"回答者: coolxp2005 - 举人 四级 2-25 23:07"解释的很详细!

回答4:

1. 3 前面的可以执行,则后面就不执行了
2. 2

回答5:

1:Y=3(t=++x||++y语句只执行前面的);
2:-1