读书人

新手求教关于!和++的运算规则解决方法

发布时间: 2012-05-21 18:04:41 作者: rapoo

新手求教关于!和++的运算规则
比如,!x++ 是先执行非运算 还是先执行++运算? 教材上说着两个运算符优先级都是2,结合规则是从右至左,按这么说应该是先执行自增运算,但我看到的一个小程序上是先执行非运算的 怎么回事?
附上小程序
#include <iostream>
using namespace std;
int main()
{
int a,x;
for(a=0,x=0;a<=1&&!x++;a++)
{
a++;
}
cout<<a<<x<<endl;
return 0;
}
求解答,小弟不胜感激!~~

[解决办法]
!x++虽然会先执行++,但返回的值却不是x+1,而是x。所以,你看到的结果还是!x。

虽然增量变量,但却不会返回增量后的结果,这就是后置++的特色。

读书人网 >C++

热点推荐