首页 > 试题广场 >

int a=1,b=2,c=3;if(ac)b=a;a=c

[单选题]
有代码段
int a = 1, b = 2, c = 3;
if (a > c) b = a; a = c; c = b;
则 c 的值为( )
  • 1
  • 2
  • 3
  • 不一定
优头像
if语句后面的只有第一句才是属于if语句的。除非给后面几个赋值语句加上大括号
发表于 2018-04-10 10:40:28 回复(0)
这题答案错了吗?
发表于 2019-03-20 08:33:54 回复(0)
注意if循环哪里结束就行了
发表于 2023-11-18 11:30:40 回复(0)

首先,定义了三个整型变量a,b,c,并分别赋值为1,2,3。

然后,有一个if语句判断a是否大于c。因为1不大于3,所以if语句的条件为假,不执行b = a;这条语句。

接着,执行a = c;这条语句,把c的值3赋给a。此时a的值变为3。

最后,执行c = b;这条语句,把b的值2赋给c。此时c的值变为2。

所以,在这段代码执行完毕后,a的值是3,b的值是2,c的值是2

发表于 2023-03-09 18:38:53 回复(0)
if 语句的范围只到后面第一句,其他代码不属于if范围,所以c = b = 2
发表于 2021-11-26 11:55:57 回复(0)

根据这段代码,如果 a 大于 c,则 b 的值将被更新为 a 的值,a 的值将被更新为 c 的值,c 的值将被更新为 b 的值(即原来的 a 的值)。如果 a 不大于 c,则不会发生任何变化。

因此,如果 a 大于 c,则最终的结果是 b 的值被更新为 1,a 的值被更新为 3,c 的值被更新为 2。如果 a 不大于 c,则最终的结果是 a、b 和 c 的值都不发生变化,仍然是 1、2 和 3。

发表于 2023-05-25 20:19:46 回复(0)
<p>逗号表达式直接输出最后一条</p>
发表于 2020-09-09 21:04:39 回复(2)
逗号运算符
发表于 2017-10-05 16:35:11 回复(1)