标题:c语言出现illegal else without matching if 执行 cl.exe 时出错.
只看楼主
c语言新手啊
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-10-15
结帖率:0
已结贴  问题点数:20 回复次数:3 
c语言出现illegal else without matching if 执行 cl.exe 时出错.
#include<stdio.h>
#include<math.h>
int main()
{
 double a,x,y;
 scanf("%lf",&x);
 a=10.2;
 if(x>=-100,'&&',x<=0);
 {
  y=sqrt(a*a+x*x);
  printf("%lf",y);
  else if(x>=0)
     y=3*a*x*x+4*a*x-1;
    printf("%lf",y);
 };
return 0;
 };
搜索更多相关主题的帖子: 出错 if exe 执行 出现 
2019-10-15 23:22
bcbbcclbbc
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:11
帖 子:194
专家分:528
注 册:2019-8-15
得分:10 
分号为一个语句的结束,你if语句后直接接了一个分号(空语句)而且后面还有语句,后面的else找不到与之对应的if就会报错。
大括号括起来的语句称为复合语句,后面可以不用加分号
2019-10-16 06:11
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:507
帖 子:8890
专家分:53117
注 册:2011-1-18
得分:10 
代码要排版,别团得像坨屎

程序代码:
#include <stdio.h>
#include <math.h>

int main( void )
{
    double x;
    scanf( "%lf", &x );

    double y = 0;
    const double a = 10.2;
    if( x>=-100 && x<=0 )
    {
        y = sqrt(a*a+x*x); // 最好用 y = hypotf(a,x);
    }
    else if( x>=0 )
    {
        y = 3*a*x*x + 4*a*x - 1;
    };
    printf( "%lf\n", y );

    return 0;
}

2019-10-16 08:30
c语言新手啊
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2019-10-15
得分:0 
回复 3楼 rjsp
好的,谢谢
2019-10-16 12:15



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-497294-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.384583 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved