c语言问题,为什么执行不下去的,我输入一个数,按回车没反应,这是为什么?高手帮帮忙

2024-11-27 13:00:52
推荐回答(4个)
回答1:

void main()
{
printf("Please input calculation accuracy\n");
scanf("%lf",&eps); //用%lf
printf("eps=%lf\n",eps); //用%d的话,eps可能为0,这里输出eps验证
//一旦eps为0,do {}while(fabs(a-b)>eps);就可能会死循环
aa();
gold();
printf("X=%lf,F=%lf",X,F); //用%lf
}

当程序没有反应的时候,请使用调试功能,如果没有调试功能,可以添加printf语句查看程序运行情况
本例中可以在do循环最后添加

printf("f1=%lf f2=%lf, a=%lf, b=%lf, eps=%lf\n", f1,f2,a,b,eps); //**********************
}
while(fabs(b-a)>eps);

回答2:

虽然没明白你的代码要实现什么??
但是double a,b,X,F,eps;
你的scanf() 里面的%d肯定是不对的吧!!!

回答3:

你的scanf输入的eps貌似和后面的函数引用没关系,还要你的函数都没人返回值,导致你的程序运行没有反应了。还要你aa函数里面继续引用函数f() f(a3) 都没定义 无法继续运行啊

回答4:

aa 里面死循环了