c语言编程编译正确,但运行后没有反应,只有一个光标在闪,这是什么情况?

#include<stdio.h>
double fun(float);
void main()
{
float x;
scanf("%d",&x);
fun(x);
printf("%s %d","x=",fun(x));
}
double fun(float i)
{

int n;
scanf("%d",&n);
printf("%s %d","请输入n:",n);
float a,b,c,fac;
c=a=b=fac=1;
for(;c<=n;)
{
fac=fac*c;
b=b*i;
a=a+b/fac;
c++;
}
return(a);
}

scanf("%d",&x); x 为 float x; 而 %d 为整数,所以 x 不能被正确赋值,两种解决方法:
将 scanf("%d",&x); 改为:scanf("%f",&x); 或者:
将 float x; 改为 int x;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-02-26
你确信光标闪烁不是在等你输入吗?追问

呃,还是没有反应,这是怎么回事啊

相似回答