若有定义:int a=3;double b=0.1263;char ch=’a’;,则以下选项中,叙述有错的是( )。

admin2022-10-24  25

问题 若有定义:int a=3;double b=0.1263;char ch=’a’;,则以下选项中,叙述有错的是(          )。

选项 A、逗号表达式的计算结果是最后一个逗号之后的表达式的运算结果
B、运算符%只能对整数类型的变量进行运算
C、语句ch=(unsigned int)a+b;是对a与b之和进行强制类型转换,结果赋值给变量ch
D、复合运算:a*=b+ch是将变量b、ch之和与a相乘,结果再给a赋值

答案C

解析 逗号表达式的计算结果是最后一个表达式的运算结果,所以选项A正确;运算符%是求余运算符,只能对整数类型的变量进行运算,所以选项B正确;在语句ch=(unsigned int)a+b中,圆括号优先级最高,所以首先将a强制转换成无符号整型,再与b相加,结果赋值给ch,所以选项C错误;复合运算a*=b+ch中,先计算b+ch的值,再将a与b+ch之和相乘,结果再赋值给a,所以选项D正确。故本题答案为C选项。
转载请注明原文地址:https://kaotiyun.com/show/tRkp777K
0

最新回复(0)