一道简单的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 变量
因此第三次相加的时候,不会再加

原文地址:https://www.cnblogs.com/jeekun/p/1873199.html