C语言的输入输出问题

来源:百度知道 编辑:UC知道 时间:2024/05/17 22:06:58
#include<stdio.h>
main()
{
double i,n,mul;
scanf("%d",&n);
for(i=1;i<=n;i++)
mul*=i;
printf("mul=%f",mul);
getch();
}
为什么把d%改为e%达不到预期结果?

要写成%lf,不能写成%f:
main()
{
double i,n,mul=1;
scanf("%lf",&n);
for(i=1;i<=n;i++)
mul=i*mul;
printf("mul=%lf",mul);
getch();
}

你之前定义mul为double型,输出的时候却是%f,是不一致的,应该把double改为float或者把f改为d就行了.