我的c语言怎么总出错,下面提示 没有匹配 if 的非法 else 谢谢诶

#include "stdafx.h"
#include"math.h"
void main( )
{
double a,d,t,x1,x2;
float b;
char c;
scanf("a=%d,b=%f,c=%c",&a,&b,&c);
d=b*b-4*a*c;
if (d<0);
printf("solution");
else
t=sqrt(d);
x1=1.0/(2*a)*(-b+t);
x2=1.0/(2*a)*(-b-t);
printf("x1=%d,x2=%d",x1,x2);
}

if (d<0);
这里的分号是多余的,导致错误
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-27
if (d<0);
这句后面不应该有分号!
第2个回答  2011-08-27
if (d<0);
这句后面没有“;”
第3个回答  2011-08-27
之前的语句也看看,相互关联的

我的c语言怎么总出错,下面提示 没有匹配 if 的非法 else 谢谢诶
if (d<0);这里的分号是多余的,导致错误

确切地说,C语言判断中if(x==0)和if(!x)有什么本质上的区别吗?
x”就为真,结果为true,反之,这位假,就是false(!x为0);所以,两者都是x为0则判断为真,没什么本质区别的,如果lz非要区别的话,可以这样认为,“x==0”是直接将x与0比较的,真假立判;而“!x”先判断x是否为0,那么就可以得出(!x)是否为0,可以这样分解:if(x==0) 则((!x)!

老师布置C语言作业,结果我编的运行结果多出了一整行的“烫烫”,诶...
for(i=0;i<80;i++){ if(s[i]=='\\n') break;else if(s[i]>='a'&&s[i]<='z')printf("%c",s[i]-32);else printf("%c",s[i]);} printf("\\n字符串长度:%d\\n",a);} 主要是你在输出的时候没有判断结束标志,而把全部预设的80个数组内容全输出了。

相似回答