可能是我的问题描述问题吧,不好意思哈,我不明白的就是为什么这两个程序的输出结果是不一样的,第一个程序和第二个程序中只有红色部分的区别,结果我都是用科学计数法输出的,并且在我的这个编译器上的sizeof(double)和sizeof(long long)是相等的,都是八个字节。
不追求明确的说法, 只想听听各位的看法。Thank you!
#include "stdio.h"
int main()
{
double sum=0,multiply=1;
int n;
for(n=1;n<=20;n++)
{
multiply*=n;
sum+=multiply;
}
printf("%e\n",sum);
return 0;
}
2.561327e+018
--------------------------------
Process exited with return value 0
Press any key to continue . . .
……………………………………………………………………
#include "stdio.h"
int main()
{
long long sum=0,multiply=1;
int n;
for(n=1;n<=20;n++)
{
multiply*=n;
sum+=multiply;
}
printf("%e\n",sum);
return 0;
}
1.858381e-137
--------------------------------
Process exited with return value 0
Press any key to continue . . .