题目
22.(判断题,2.0分)自增运算符++可作用于常量[1]和表达式。如5++或(a+b)=b。A. 对B. 错
22.(判断题,2.0分)
自增运算符++可作用于常量[1]和表达式。如5++或(a+b)=b。
A. 对
B. 错
题目解答
答案
B. 错
解析
考查要点:本题主要考查对C语言中自增运算符++的适用对象的理解,特别是其对常量和表达式的操作限制。
解题核心思路:
自增运算符++的作用对象必须是可修改的左值(即能够被赋值的变量)。常量(如5)和表达式的结果(如a+b)均属于右值,无法被修改,因此不能作为++运算符的操作数。
破题关键点:
- 左值与右值的区别:左值是内存中可寻址的变量,右值是临时结果或常量。
- 自增运算符的语义:
++隐含对操作数进行赋值操作,而右值无法被赋值。
错误点分析:
题目中给出的两个例子5++和(a+b)++均违反了自增运算符的语法规则:
5++:常量5是右值,无法被修改,因此5++无法编译。(a+b)++:表达式a+b的结果是一个临时值(右值),即使a和b是变量,它们的和也不构成可修改的左值,因此(a+b)++同样非法。
结论:自增运算符++只能作用于变量,而非常量或表达式。题目中的描述错误,正确答案为B. 错。