这两段代码到底有什么区别为什么第1个跑出来的结果是错误的啊,比第2个少了一个1
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
long double n,a,m,x;
a=pow(10,14);
for (n=1;n<=50000;n++)
{
m=1/n;
x=m++;
}
cout<<fixed<<setprecision(6);
cout<<"S=10^14+1+1/2+1/3+...+1/n"<<endl;
cout<<"S="<<a+x<<endl;
return 0;
}
#include<iostream>
#include<cmath>
#include<iomanip>
using namespace std;
int main()
{
long double n,m,a,b;
b=pow(10,14);
for (n=1;n<=50000;n++)
{
m=1/n;
a=m++;
}
cout<<fixed<<setprecision(6);
cout<<"S="<<b+m<<endl;
return 0;
}