首页 > 试题广场 >

已有定义“int x=12,y=15,z;”,则执行表达式“

[单选题]

已有定义“int x=12,y=15,z;”,则执行表达式“z=(x||(y-=x)”后,变量y和变量z的值分别为:

  • 3,1

  • 15,12

  • 3,12

  • 15,1

“int x=12,y=15,z;”,则执行表达式“z=(x||(y-=x))”
首先,执行的是 x||(y-=x) 中||左侧部分,x为12,故非0值或任意值均为1,||左侧非零,||右侧就不执行了。故z=1,而y不变,任然是15
发表于 2022-02-07 11:40:57 回复(0)
逻辑与 &&、逻辑或 || 均有“短路”特性:

逻辑与&&“短路”:当逻辑与&&的左操作数为逻辑 “假“ 时,就足以判断该逻辑运算的结果为假了,故右操作数就不再被执行。

逻辑或||“短路”:当逻辑或||的左操作数为逻辑 “真” 时,就足以判断该逻辑运算的结果为真了,故右操作数就不再被执行。

发表于 2023-10-20 14:43:39 回复(0)
计算机会偷懒,前面为1后面就不会计算
发表于 2022-05-21 20:12:50 回复(0)
短路操作
发表于 2022-03-26 08:37:56 回复(0)
从左往右执行顺序
发表于 2022-04-29 22:39:00 回复(0)
短路
发表于 2022-03-09 17:00:22 回复(0)
||只要一个不为假,后面的都不会执行
发表于 2022-07-19 16:46:07 回复(0)
表达式z=(x||(y-=x))先判断x的真假,x=3,为真,表达式短路,不会执行后面的y-=x;所以y=15,z=1;

发表于 2022-04-07 08:11:10 回复(0)
这个括号要括不括的


发表于 2023-07-25 21:34:17 回复(0)
短路原则吧
发表于 2023-07-12 09:06:31 回复(0)