2017-11-03 150 views
-3
float p, q, x1, x2; 

p=(-b-sqrt(b*b-4*a*c))/(2*a); 
q=(-b+sqrt(b*b-4*a*c))/(2*a); 

if(p<q){ 
    p=x1; 
    q=x2; 
} 

else{ 
    p=x2; 
    q=x1; 
} 

如果条件为真,我想分配这些值,但是,我只从x1和x2获得0个值。将var分配给var in C

你能指出我错在哪里吗?

+0

那里,我已经编辑它 – Ben

+2

你永远不会分配任何东西给'x1'或'x2',所以它们可以包含任何东西。 –

+0

当a = 1,b = 0,c = 1时会发生什么? – MFisherKDX

回答

0
float p, q, x1, x2; 

p=(-b-sqrt(b*b-4*a*c))/(2*a); 
q=(-b+sqrt(b*b-4*a*c))/(2*a); 

if(p<q){ 
    x1=p; 
    x2=q; 
} 

else{ 
    x2=p; 
    x1=q; 
} 

我想你正在尝试使用一些数学公式计算p和q,然后将它们分配给x1和x2。然而,你做这个任务的方式是相反的。所以我纠正了它。希望能帮助到你。