首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

新手 后置++和!的优先级

2012-02-23 
新手求助 后置++和!的优先级优先级表中后置++优先级高于!但在这个程序中#include iostreamusing namespa

新手求助 后置++和!的优先级
优先级表中后置++优先级高于!
但在这个程序中
#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;
}

输出结果是21. !x++ 中先计算了!x 
新手求助这是什么原因啊

[解决办法]
结果 a = 2, x = 1

因为你的 a++ 做了两次 x ++ 只有一次

[解决办法]
这是最基本的语法问题,找本C++书看就OK了。看运算符那块。
[解决办法]
前置++指在表达式处先+1,后置++指先取值后再+1,这很好理解,因为你输出时是另一个表达式,不管前置还是后置都已+1了。
如 int a=0,b=0;
int c=a++;
int d=++b;
int e=a,f=b;
cout<<c<<" "<<d<<" "<<e<<" "<<f;

 应该是 0 1 1 1

热点排行