若有定义:int a=3,b;,则执行语句:b=(a++,a++,a++);后,变量a和b的值分别是( )。

admin2018-03-27  2

问题 若有定义:int a=3,b;,则执行语句:b=(a++,a++,a++);后,变量a和b的值分别是(    )。

选项 A、6,5
B、8,7
C、6,3
D、5,6

答案A

解析 C语言中“++”为单目运算符,优先级最高,a++表示在使用a之后使a的值加1,逗号表达式从左到右按顺序执行,并返回最右表达式的值,所以最后a自增了3次,结果为6,因为a++为使用后加1,所以在第三个a++时,返回最右表达式的值,a此时的值为5,赋值给b,赋值结束后执行第三次自增,所以最后a的值为6,b的值为5,选项A正确;本题答案为A
转载请注明原文地址:https://kaotiyun.com/show/XqID777K
0

相关试题推荐
最新回复(0)