问题标题:
varibleisbeingusedwithoutbeinginitialized#include#includedoublemain(void){doublea,b,c,d,x1,x2;printf("entera:n");scanf("%lf",&a);printf("enterb:n");scanf("%lf",&b);printf("enterc:n");scanf("%lf",&c);d=b*b-4*a*c;if(d>0){void函数
问题描述:
varibleisbeingusedwithoutbeinginitialized
#include
#include
doublemain(void)
{
doublea,b,c,d,x1,x2;
printf("entera:n");
scanf("%lf",&a);
printf("enterb:n");
scanf("%lf",&b);
printf("enterc:n");
scanf("%lf",&c);
d=b*b-4*a*c;
if(d>0)
{
void函数1(doublea,doubleb,doubled,doublex1,doublex2);
函数1(a,b,d,x1,x2);
}
elseif(d
牛俊邦回答:
3个函数的参数,没用到指针,所以它们的实参应当是初始化(initialized)的.
而x1,x2并未初始化.所以得到这样的信息:withoutbeinginitialized.
按你的函数定义来看.你可以去掉doublex1,doublex2两个参数,函数调用只用前3个参数就可以了.另外把doublea,b,c,d,x1,x2;放到doublemain(){}以前,作为全局量.这样函数体内的x1,x2用的便是全局量.
你的计算式要查一下.d为负,不能sqrt(d).要改用sqrt(-d),另外分实部虚部分别计算和输出.
点击显示
其它推荐
热门其它推荐