设 int x,y,z; 执行语句 x=y=z=0; ++x||++y==++z; 后,x,y,z
答案:1 悬赏:20 手机版
解决时间 2021-11-10 16:02
- 提问者网友:雪舞兮
- 2021-11-10 01:54
设 int x,y,z; 执行语句 x=y=z=0; ++x||++y==++z; 后,x,y,z
最佳答案
- 五星知识达人网友:行路难
- 2021-11-10 02:37
这是c语言的问题吧,首先是给x,y,z均赋值为0接下来++x是对x先加值后使用,则此时x=1然后就是“或操作”(由于“或操作”的优先级高于“是否等于判断”,所以先进行:
++x||++y),这时候由于“||”前面的值已经是1了,所以就跳过y的自增,y的值不变,仍是0接下来进行“是否等于判断”,z自增变成z=1,然后与前面的逻辑结果0进行“是否等于判断”,最终得到的结果是1,x=1,y=0,z=1“||”的快速计算:当“||”前面的值是1的时候,就不进行“||”后面的运算了,因为1与任何数的“或操作”结果都是1,所以就没必要计算后面的了追问是C语言的问题,可没选项就只好选数学了,答案上z=0,这是我所不明白的,可能答案错了?追答只能这么认为了
++x||++y),这时候由于“||”前面的值已经是1了,所以就跳过y的自增,y的值不变,仍是0接下来进行“是否等于判断”,z自增变成z=1,然后与前面的逻辑结果0进行“是否等于判断”,最终得到的结果是1,x=1,y=0,z=1“||”的快速计算:当“||”前面的值是1的时候,就不进行“||”后面的运算了,因为1与任何数的“或操作”结果都是1,所以就没必要计算后面的了追问是C语言的问题,可没选项就只好选数学了,答案上z=0,这是我所不明白的,可能答案错了?追答只能这么认为了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯