在C运算符优先表指出的更高的优先级().
码:
# include <stdio.h>
int main()
{
int temp=2;
(temp += 23)++; //Statement 1
++(temp += 23); //Statement 2
printf("%d",temp);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,虽然括号中的优先级高于语句2中的预先修复运算符,但为什么会出现错误.在声明1中,两者具有相同的优先级,但评估顺序是从左到右.还是一样的错误.第三个疑问:operator + =优先级低得多,那么为什么它会导致错误.
error: lvalue required as increment operand
Run Code Online (Sandbox Code Playgroud)