问题描述:
请高手帮忙讲解下前置的++和后置的++的优先级和结合性啦!
下面是几个用自增(减)符的例子的问题,我想来想去的不明白啊!
他们都是有点相似,但结果不同。
第一:
int i=1;
cout<<(--i)++<<endl;
cout<<i<<endl;
编译通过,显示 0 1
int i=1;
cout<<--i++<<endl;
cout<<i<<endl;
编译不通过,显示错误是:'--' needs l-value
第二个问题:
int i=1;
cout<<(+i)++<<endl;
cout<<i<<endl;
编译通过,显示:1 2
int i=1;
cout<<(-i)++<<endl;
cout<<i<<endl
编译不通过,错误:'++' needs l-value
我主要是不明白前置和后置一齐用时怎样处理
问题解答:
http://www.turboc.net/?file=showartical.aspx?file=opandexpr/incrementanddecrement.aspx
这是我写的关于自增自减的解释。
前置的++ 是 先自加 后执行语句
后置的++ 是 先执行语句 后自加
一起用也是按顺序去执行的啊,到底怎么用还是看需求的。