若有定义:double x;,则表达式:x=0,x+10,x++的值是( )。

admin2016-05-26  24

问题 若有定义:double x;,则表达式:x=0,x+10,x++的值是(    )。

选项 A、11.0
B、10.0
C、0.0
D、1.0

答案C

解析 C语言中,逗号运算符可以把两个以上(包含两个)的表达式连接成一个表达式。逗号运算符的优先级是所有运算符中级别最低的,逗号运算符保证左边的子表达式运算结束后才进行右边的子表达式的运算。也就是说,逗号运算符是一个序列点,其左边所有副作用都结束后,才对其右边的子表达式进行运算,并以最右边表达式值作为整个逗号表达式的值。后置自增运算:k++表示先运算,后自加。前置自增运算:++k表示先自加,后运算。因此,表达式x=0。x+10,x++的计算过程为首先赋值x=0,然后将x加19,但是并不对x进行赋值,最后计算x++,并,根据后置自增运算的计算结果,即为x=0.0。故答案为C选项。
转载请注明原文地址:https://jikaoti.com/ti/SlkiFFFM
0

最新回复(0)