为什么C语言中for语句不能运算乘法

来源:百度知道 编辑:UC知道 时间:2024/07/02 11:03:22
for(n=1;n<=20;n++)
sum=sum+n能够运行,但sum=sum*n却不能得到结果,是为什么呢?应该怎么输入

你SUM定义是什么类型,是运算的数字太大 溢出了吧.

可以,
这是我运行的程序,你可以看看。在visual c++ 6.0里面运行的,结果是2.4329e+·18
#include <stdio.h>
#include<iostream.h>
void main ()
{
double sum=1;
int n ;
for(n=1;n<=20;n++)
{
sum=sum*n;
}
cout<<(double )sum<<endl;
}

如果有什么问题,可以问我。。

你的结果是什么,0吗?还是其它,如果是0的话也许是哪乘0了,比如说你sum定义的时侯初始化为0了。 这是我写的样例,供参考:
#include<iostream>
using namespace std;
int main()
{
double sum=1;
for(long n=1;n<=20;n++)sum*=n;
cout<<sum<<endl;
return 0;
}

你应该是忘记初始化sum变量了。

加法初始化:sum = 0;
乘法初始化:sum = 1;

肯定你中间乘了0!!

sum=1;
for ( n=1; n<=20; n++ )
sum=sum*n;