帮忙看下这个为什么会出错?
#include "stdio.h"
void main()
{int a,b=1;
for(a=1;a<=100;a++)
b=a*b;
printf("b=%d",b);
}
第1个回答 2008-08-06
100 的阶乘超过了int的数值允许范围,改成float吧
多给点分吧
多给点分吧
第2个回答 2008-08-06
你用的是哪个编译环境,有些编译环境是不允许main没有返回值的。具体的错误贴上来。还有就是100!超过了计算机的表示范围。
第3个回答 2008-08-07
#include <stdio.h>
void main(void)
{
double a,b = 1.0;
for(a=1; a <= 100; a++)
b = a * b;
printf("b=%d", b);
}
头文件stdio在安装目录下,用<>号
int范围不够,用double
void main(void)
{
double a,b = 1.0;
for(a=1; a <= 100; a++)
b = a * b;
printf("b=%d", b);
}
头文件stdio在安装目录下,用<>号
int范围不够,用double
第4个回答 推荐于2017-10-09
把输出放在循环体外面 用double int
#include <stdio.h>
void main()
{
double int a,b=1;
for(a=1;a<=100;a++)
{
b=a*b;
}
printf("b=%d",b);
getch();
}本回答被提问者采纳
#include <stdio.h>
void main()
{
double int a,b=1;
for(a=1;a<=100;a++)
{
b=a*b;
}
printf("b=%d",b);
getch();
}本回答被提问者采纳
第5个回答 2020-03-16
数太大溢出了