问题:
[单选] 以下非法的赋值语句是( )A . n = (i=2,++i);
B . j++;
C . ++(i+1);
D . x = j > 0;
参考答案:C
参考解析:
选项A是给n赋值一个逗号表达式,逗号表达式(i=2,++i)首先给i赋初值为2, ++i为3,n的值为3。因此是合法的赋值表达式。选项B是单目操作表达式,给j加1,j++;是合法的赋值语句。选项D是给X赋值一个关系表达式,关系表达式j>0的结果是1(为真)或0(为假)。因此是合法的赋值语句。选项C看上去是一个++运算给(i+1)加1,但++只能操作左值(也就是一个有内存地址的变量或数字元素),不能操作表达式,编译时会给出出错信息。