当前位置: 代码迷 >> C语言 >> [讨论]自增运算符前缀与后缀的区别
  详细解决方案

[讨论]自增运算符前缀与后缀的区别

热度:227   发布时间:2007-03-19 17:37:18.0
[讨论]自增运算符前缀与后缀的区别


int main()
{
int *p,*q;
int x=5;

p=&++x;
q=&x++;
return 0;
}

编译器报错的是q=&x++;这一句 error C2102: '&' requires l-value

为什么p=&++x;这一句没有报错,

自增运算符前缀与后缀是如何造成这种区别的?


搜索更多相关的解决方案: 运算符  前缀  后缀  

----------------解决方案--------------------------------------------------------
++x ;自增后使用。
x++ :使用后再自增...
----------------解决方案--------------------------------------------------------
我运行的时候都要报错



----------------解决方案--------------------------------------------------------
是啊,都错
----------------解决方案--------------------------------------------------------

怎么会都抱错呢,那运行这个试试:

int main()
{
int *p,*q;
int x=5;

p=&++x;
//q=&x++;
return 0;
}


----------------解决方案--------------------------------------------------------
  相关解决方案