字典翻译 问答 其它 intx=y=z=1,t,执行t=++x||++y&&++z后,x、y、z、t的值~正确答案是2、1、1、1我有两种思路如下:1)因为前置++的优先级高于&&,&&又高于||,所以原式可化简为t=2||2&&2=2&&1=1;即x=y=z=2,t=12)看了很多题目,发
问题标题:
intx=y=z=1,t,执行t=++x||++y&&++z后,x、y、z、t的值~正确答案是2、1、1、1我有两种思路如下:1)因为前置++的优先级高于&&,&&又高于||,所以原式可化简为t=2||2&&2=2&&1=1;即x=y=z=2,t=12)看了很多题目,发
问题描述:

intx=y=z=1,t,执行t=++x||++y&&++z后,x、y、z、t的值~

正确答案是2、1、1、1

我有两种思路

如下:

1)因为前置++的优先级高于&&,&&又高于||,

所以原式可化简为

t=2||2&&2=2&&1=1;即x=y=z=2,t=1

2)看了很多题目,发现一般都不是用自加后的数字来运算,但是因为&&优先级高于||

所以原式化为.这个地方又我不知道了,按理说应该先计算++y||++z,可电脑计算不是从左至右的么,那到底要不要先把++x算出来呢?

李新征回答:
  我给你说下c++和c语言处理这行代码的过程.首先是从左往右的.t=++x||++y&&++z第一步:t=(++x)||(++y&&++z);因为||这个符号的优先级最低.第二步:++x;执行完之后x=2;(对于||这个符号有个特点就是...
点击显示
其它推荐
热门其它推荐
  • 其它