原题是求1-20各数的阶乘之和,我想用二重循环来做,代码如下:但是最终结果却与正确答案似乎不一样:
#include
using namespace std;
int a=1, b=0;
int m, n;
int main()
{
for (m = 1; m <= 20;m=m++)
{
for (n = 1; n <= m-1; n = n++)
a = a*n;
b = b + a;
}
cout << b << endl;
return 0;
}
老师提供的正确答案如下:
#include "stdafx.h"
#include
using namespace std;
int a=1, b=0;
int m, n;
int main()
{
for (m = 1; m <= 20;m=m++)
{
a = a*m;
b = b + a;
}
cout << b << endl;
return 0;
}
我用VS2015追踪得到的结果是第一个代码中最终a=0,第二个a= -2102132736
·················请问这到底是怎么回事ORZ············初学者求教啊