zklw.net
当前位置:首页 >> '++' nEEDs l%vAluE 什么意思 >>

'++' nEEDs l%vAluE 什么意思

++左边必须是个变量,但不可以是个临时变量,y+x返回一个临时变量,是不能进行++运算的,只能这样写 y = y + x; y++;

就是你要修改的变量必须是左值 比如const int a = 0; a就不是左值 int a = 0; 才是左值类型

b不可变。 修改成下面这样可以: #includevoid main(){int a[2][3]={1,2,3,4,5,6},i=1,b[]={1,3,5,7,9};printf("%d",(*b)++ );}

因为数组名表示得是地址 不能做为左值 shuzu++ 表示得是shuzu=shuzu+1

#includeusing namespace std;void main() { long *p_NumPerSection=NULL;//注意这里是一个等号 p_NumPerSection=new long[10]; for(int i=0;i

a++的返回值是右值 ++a的返回值是左值 前置++的操作对象需要左值 具体请百度C++的左值和右值

void main(void) { int a = 1,b = 1, c=0; c=((a++)++)+b; //错误的 a++ 使a等于a+1但返回的是a以前的值,一个数值不 //是变量,不能在++了,就是错误c2105,左值才能++ cout

b是字符数组的首地址 是一个常量 当然不能自加 要加的话 改为 x++

后置++无论在c还是c++中 都不能用作左值 在c中前置++也不能用作左值 但需注意的是,c++中前置++可为左值,即c++中 ++a = b;是允许的 原因:c++中前置++的实现返回的是一个引用,故可以作为左值。

因为r是数组名,类似一个常量指针,不能进行自增操作。 q应该没有问题。

网站首页 | 网站地图
All rights reserved Powered by www.zklw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com