varible is being used without being initialized

问题描述:

varible is being used without being initialized
#include
#include
double main(void)
{
double a,b,c,d,x1,x2;
printf("enter a:\n");
scanf("%lf",&a);
printf("enter b:\n");
scanf("%lf",&b);
printf("enter c:\n");
scanf("%lf",&c);
d=b*b-4*a*c;
if(d>0)
{
void 函数1(double a,double b,double d,double x1,double x2);
函数1(a,b,d,x1,x2);
}
else if(d
1个回答 分类:综合 2014-10-05

问题解答:

我来补答
3 个函数的参数,没用到指针,所以 它们的 实参 应当 是 初始化 (initialized)的.
而 x1,x2 并 未 初始化.所以得到 这样的 信息:without being initialized.

按你的函数定义来看.你可以去掉double x1,double x2 两个参数,函数调用只用 前 3 个参数就可以了.另外 把 double a,b,c,d,x1,x2; 放到 double main() {} 以前,作为 全局量.这样 函数体内的 x1,x2 用的便是全局量.

你的计算式要查一下.d 为 负,不能 sqrt(d) . 要改用 sqrt(-d), 另外 分实部 虚部 分别 计算 和 输出.
 
 
展开全文阅读
剩余:2000
上一页:质点位移问题