32号运动员 发表于 2019-6-15 14:51:29

这是一个按分数评级的程序,代码编译时在最后一个else部分的大括号报错,但可以运行。

这是为什么?完全没有bug。
#include <stdio.h>
main()
{
        int i;
       
        printf("请输入分数。\n");
        scanf ("%d",&i);
        if(i>=90)
        {
                printf("a\n");
        }
        else if (i>=80 && i<90)
        {
                printf("b\n");
    }
    else if (i>=70 && i<80)
    {
            printf("c\n");
    }
    else if (i>=60 && i<70)
    {
            printf("d\n");
        }
        else(i<60)
        {
                printf("e\n");
        }
        return 0;
}
       
       
       
       
       

Krant5 发表于 2019-6-15 14:56:22

错误贴出来

我叫MD 发表于 2019-6-15 16:08:19

24行   else后面的括号连同数据去掉

else 后面不能跟判断条件

32号运动员 发表于 2019-6-15 17:02:35

我叫MD 发表于 2019-6-15 16:08
24行   else后面的括号连同数据去掉

else 后面不能跟判断条件

可是小甲鱼都是这样编译也没报错,而且我的也可以正常运行啊。

32号运动员 发表于 2019-6-15 17:03:06

Krant5 发表于 2019-6-15 14:56
错误贴出来

???

我就是个弟弟 发表于 2019-6-16 12:51:32

else后面没有表达式,
运行是运行,编译是编译。
运行写好的程序要,先保存文件,然后编译,然后再运行。
你这是被IDE坑了。

bin554385863 发表于 2019-6-16 18:59:09

本帖最后由 bin554385863 于 2019-6-16 19:00 编辑

      else(i<60)----------要么去掉else后面的括号,要么用else if
      {
                printf("e\n");
      }
      return 0;
或者用switch语句
页: [1]
查看完整版本: 这是一个按分数评级的程序,代码编译时在最后一个else部分的大括号报错,但可以运行。