早教吧 育儿知识 作业答案 考试题库 百科 知识分享

关于C++的赋值表达式.有如下题目:以下非法的赋值表达式是().(A)n=(i=2,++i);(B)j++;(C)++(i+1);(D)x=j>0;争论的焦点在答案A和答案C之间,到底哪个才是非法的?它们分别的作用和意义什么?

题目详情
关于C++的赋值表达式.
有如下题目:
以下非法的赋值表达式是( ).
(A) n=(i=2,++i) ; (B) j++; (C) ++(i+1); (D)x=j>0;
争论的焦点在答案A和答案C之间,到底哪个才是非法的?
它们分别的作用和意义什么?
▼优质解答
答案和解析
(C) ++(i+1);
自增、自减运算符只能用于变量,不可用于常量和表达式.i+1是表达式
因为表达式在内存内没有具体空间,常量所占的空间不能重新赋值
以下都是错误的:
3++ ,(x+y)++ ,(-i)++