关于自增运算符的问题
在<<pointers on C>>里说,这种:
int a=0;
++a=10; //应该是不能通过编译的,因为++a返回的是一个右值,对右值无法赋值
我做了一下试验,结果发现与书不一致:
++a=10; //能正常运算,当然结果是10
a++=10; //不能通过编译
而我原以为++a=10的确不应该通过,而a++应该通过才对.
另外根据C++里写重载++操作符的作法,应该是两种方法都能通过编译才是.
没想到实验结果是上面那样.
为什么会出现这种情况呢?
int a=0;
++a=10; //应该是不能通过编译的,因为++a返回的是一个右值,对右值无法赋值
我做了一下试验,结果发现与书不一致:
++a=10; //能正常运算,当然结果是10
a++=10; //不能通过编译
而我原以为++a=10的确不应该通过,而a++应该通过才对.
另外根据C++里写重载++操作符的作法,应该是两种方法都能通过编译才是.
没想到实验结果是上面那样.
为什么会出现这种情况呢?
...全文
相关推荐
解析C语言中自增运算符问题.pdf
解析C语言中自增运算符问题是非常必要的,它涉及到C语言中的变量、表达式以及函数等基础知识。本文档将深入探讨C语言中自增运算符的各种问题。首先,自增运算符有前缀和后缀两种形式。
浅析C语言中自增自减运算符的使用问题.pdf
在C语言编程中,自增自减运算符(++ 和 --)是常用的两个操作符,用于实现变量值的快速增加或减少。自增运算符(++)用于将变量值加1,而自减运算符(--)则将变量值减1。
C语言中6组指针和自增运算符结合方式的运算顺序问题
在C语言中,指针和自增运算符的结合是一个常见的陷阱,因为它们涉及到运算符的优先级和结合性。本文主要分析了6种指针和自增运算符结合的用法,通过代码实例来解释它们的运算顺序。1.
Java语言中自增、自减运算符解析.zip
然而,对于浮点型,需要注意精度问题,因为浮点数的运算可能会有舍入误差。在实际编程中,自增和自减运算符常常用于简化代码,特别是在循环结构中。
C语言自增(自减)运算符运算规律的探讨.pdf
此外,还涉及到自增和自减运算符与其他运算符(如赋值运算符、加法运算符等)结合使用时的优先级问题。


