C++问题啊,求救啊!

来源:百度知道 编辑:UC知道 时间:2024/05/31 04:35:12
循环语句啊,帮忙分析一下啊
#include<iostream>
void main()
{
int n(51),sum(0);
while(n<=100)
{
sim+=n;
n++;
}
cout<<"sum="<<sum<<endl;
}
输出结果是 sum=3775
这是怎么算出来的啊?

#include<iostream>
void main()
{
int n(51),sum(0);
while(n<=100) //n从51开始到100,101就不满足然后跳出去了
{
sim+=n; //每一次N变得值加进sim里,你写错字了,sum不是sin
n++; //n累加1
}
cout<<"sum="<<sum<<endl;
}
输出结果是 sum=3775
这是怎么算出来的啊? &b = a;这个语句在内存里真正是 怎么样的。

n sum
51 51
52 103
53 156
. .
. .
. .
. .

&b = a
b指向a的地址
b 的值它里面放的地址指向的值
/**********以下都是相同的**************
int n=0,sum=0;
while(n<=100)
{
sum+=n;
n++;
}
/********************
int sum=0;
for(int n=0;i<=100;n++)
sum+=n;
/********************
int sum=0,n=0;
for(;n<=100;)
{
sum+=n;
n++;
}
/********************

相当于从51一直加到100,所以输出结果为50*(51+100)/2=3775

首先“sim+=n;”中的sim应该为sum吧
此程序循环计算的是51+52+53+...+99+100
而51+52+53+...+99+100=3775
明白?

#