您的位置:首页 > 编程语言 > C语言/C++

C语言的运算优先

2018-03-04 11:44 204 查看
1.求下列代码运行结果:
int a = 7 , b = 9,t;
  a*=a > b ? a : b;
   t=a;
  t = (b%10)+(b = 5)+t;

  cout<<t<<endl;
答案:77
解析:a*=a > b ? a : b;

是在求a*(a和b中的最大者)=7*9=63,所以a现在被赋值为63,接着t=a=63。然后t = (b%10)+(b = 5)+t;,意思%号比=号和+号优先级高,故先算%,然后从右到左计算为:t=9%10+5+63;结果为77。



2.求以下代码运行结果
int y = 9;
 cout<<  y<<"  "<<y++<<endl;



解析:计算机从右向左计算,y++意味着此时右边结果为9,之后y=y+1=10,然后结果10赋值给最左边的y。
3.求以下代码运行结果
 int y = 9;
  y = y*(y=7);
  cout<< y <<endl;



  解析:y = y*(y=7);括号优先级高,先算y=7,此时等式右面两个y都为7,故答案为49
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息