C 是否++;(前缀)返回左值?

C 是否++;(前缀)返回左值?,c,prefix,C,Prefix,++a是否不返回++(后缀)运算符需要处理的l值? 如果是,怎么做?编辑:我的答案不正确。如前所述,递增和递减运算符不返回左值。 这里的问题是你在滥用权力。当您尝试使用post和prefix增量运算符修改一条语句中变量的值时,最终会造成一种情况,即每个序列点的值都依赖于另一个序列点。因此表达式是无效的。否,递增和递减运算符(与除一元*和[]之外的所有运算符一样)返回非左值值。序列点只在代码实际编译和运行时才值得一提,而这并不是(由于不是左值问题)。@AndrewMedico Ok,我认为他们确实

++a是否不返回++(后缀)运算符需要处理的l值?

如果是,怎么做?

编辑:我的答案不正确。如前所述,递增和递减运算符不返回左值。


这里的问题是你在滥用权力。当您尝试使用post和prefix增量运算符修改一条语句中变量的值时,最终会造成一种情况,即每个序列点的值都依赖于另一个序列点。因此表达式是无效的。

否,递增和递减运算符(与除一元
*
[]
之外的所有运算符一样)返回非左值值。

序列点只在代码实际编译和运行时才值得一提,而这并不是(由于不是左值问题)。@AndrewMedico Ok,我认为他们确实返回了左值。
#include<stdio.h>
int main()
{
 int a=1;
 printf("%d",(++a)++); 
 return 0;
}
error: invalid lvalue in increment