c语言问题 大师教我16.已知int i,a;,执行语句i=(a=2*4,a+5),a+6;后,变量i的值为____。A

c语言问题 大师教我
16.已知int i,a;,执行语句i=(a=2*4,a+5),a+6;后,变量i的值为____。
A)8 B)14 C)40 D)46
我以为是14 可是答案是40 怎么来的啊
hellboy223 1年前 已收到1个回答 举报

吴欣2004 幼苗

共回答了13个问题采纳率:84.6% 举报

优先级是=大于逗号,所以上面这个表达式等价于:
i=(a=2*4,a+5);
a+6;
而逗号表达式中,返回值是逗号右边的表达式的值,所以i=a+5的值,因为a=2*4=8,所以i应该等于13
可是答案里面没有,我只能理解为您把a*5打错成a+5了,如果是a*5,那么答案是40,没错的。

1年前

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