为什么这段程序在Vc++6.0中运行结果是22?

来源:百度知道 编辑:UC知道 时间:2024/06/02 06:04:41
程序如下:
int sum=0,j=5;
sum=(++j)+(++j)+(++j);
printf("sum=%d\n",sum);
VS2005运行结果是21.

你VS2005得21?我怎么得的是24?在DEV-C++中运行结果是22……

j++相当于j=j+1 而且每次运行完就给j一个新的赋值
所以 sum=6+7+8=21

第一个++j后j已经变为6,第二个后变为7,第三个变为8,所以,sum=6+7+8=21
22?可能是随机结果

6+7+8=21