题目:
设x、y、t均为int型变量,则执行语句
:t=3;x=y=2;t=x++|++y;后,变量t和y的值分别为
答案是
t=1,y=2
int main()
int t = 3;
int x, y;
x=y= 2;
t=x++||++y; I
printf("%d,%d\n",t,y);//t=1(真->1)y=2(短路现象)
return 0;
解释:
y=2
因为 ‘||’ 有短路现象,如a||b,如果 a已经为真,那么 a||b 这个整体就已经为真了,直接跳过b的判断。
t=1
因为"x++||++y"的整体为真(真为1,假为0),它把整体的真值赋给了t。