int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2); 选项 A、2 B、8 C、7 D、

int a=1,b=2; printf("%dn",a=a+1,a+6,b+2); 选项 A、2 B、8 C、7 D、4与下面这个输出结果为什么不同?
int a=1,b=2;
printf("%dn",(a=a+1,a+6,b+2)); A、2 B、8 C、7 D、4亲,
吮指鸡块 1年前 已收到2个回答 举报

ylyn1314 幼苗

共回答了18个问题采纳率:88.9% 举报

赋值表达式优先级比逗号表达式高,所以先做
逗号表达式的值是最右边的那项是b+2=4
所以选D

1年前

3

xiongxxx 幼苗

共回答了1个问题 举报

亲,概念你要记清楚哦。 答案是D、4
解释:这是用两个逗号将三个表达式连成的一个逗号表达式。
计算该逗号表达式值时,从左至右逐一计算每个表达式的值。该逗号表达式的值是最后一个表达式的值,该表达式类型也是最后一个表达式的类型。因此这里的答案是D、4...

1年前

2
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.012 s. - webmaster@yulucn.com