C++ 中 (a++)+=a 算法为什么错误?详细的来

如题所述

C/C++语言中可以放在等号左边的变量,即具有对应的可以由用户访问的存储单元,并且能够由用户去改变其值的量。或者说左值是代表一个内存地址值,通过这个内存地址,就可以对内存进行读写操作;这也就是为什么左值可以被赋值的原因了。相对应的还有右值:当一个符号或者常量放在操作符右边的时候,计算机就读取他们的“右值”,也就是其代表的真实值。简单来说就是,左值相当于地址值,右值相当于数据值。
但是你这里+=这个赋值运算符的左值是a++,它是一个对内存地址数据的操作,对一个操作赋值当然是错误的,就好像如果有一个int a,你不能赋值为a+1=2一样
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-12-18
a++是一个表达式,不是一个变量,怎么能用来赋值运算??
第2个回答  2010-12-18
'+=' 的左操作数必须是左值,a++是表达式不是个左值。
第3个回答  2010-12-18
(a++)不是一个左值,不可以放在赋值符号的左边。

相关了解……

你可能感兴趣的内容

大家正在搜

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网