问题遇到的现象和发生背景
C语言 条件语句 else-if形式
用代码块功能插入代码,请勿粘贴截图
#include<stdio.h>
#include<math.h>
int main(void)
{
float a,b,c,disc,p,q;
printf("Please enter a b c:");
scanf("%f,%f,%f",&a,&b,&c);
if(a<0)
printf("不是二次方程!\n");
disc = pow(b,2)-4*a*c;
p = -b/(2*a);
q = sqrt(fabs(disc))/(2*a);
if(disc=0)
printf("x1=x2=%f\n",p);
else if(disc>0)
printf("x1=%f,x2=%f\n",p+q,p-q);
else(disc<0);
printf("x1=%fi,x2=%fi",p+q,p-q);
return 0;
}
我的解答思路和尝试过的方法
为什么在Code blocks和devc++上else(disc<0)后面都要加分号才能够正常运行?