一道简单的C++题

  
    
#include " stdafx.h "

int main( int argc, char * argv[])
{
int x = 5 , z;
z
= ( ++ x) + ( ++ x) + ( ++ x);
printf(
" %d\n " , z);

x
= 5 ;
z
= ( ++ x) + (( ++ x) + ( ++ x));
printf(
" %d\n " , z);
return 0 ;
}

结果:
22
24

分析原因出现 ++ 和 +操作符的区别

++返回Int&  而 + 返回 int值
因此实际当后面++x的时候 前面的值也在增加

第一个 首先计算出前两个值 得到 int 变量
因此第三次相加的时候,不会再加

 

你可能感兴趣的:(C++)