panzhengwang 发表于 2022-7-4 21:02:24

编译错误 不知道如何修改

本帖最后由 panzhengwang 于 2022-7-4 21:17 编辑

#include <stdio.h>
void main()
int a;
printf( "input a number:\n" );
scanf( "%d\n", &a);
if( a < 60 )
{
        printf( "E\n" );
}                                                         //第一次编译错误指示标在这里行
else if( (60 <a || a==60) && a<70 )
{
        printf( "D\n");
}
else if( (70 <a || a==70) && a<80 )
{
        printf( "C\n" );
}
else if( (80 <a || a==80) && a<90 )
{
        printf( "B\n" );
}
else
{
        printf( "A\n" );
}


编译错误 出来了,就在注释的哪一行,但是我就是照不出来错在那里 求助各位大神 谢谢

wp231957 发表于 2022-7-4 21:19:34

main是一个函数,它的从属代码块需要用花括号包裹

panzhengwang 发表于 2022-7-4 21:22:57

wp231957 发表于 2022-7-4 21:19
main是一个函数,它的从属代码块需要用花括号包裹

谢谢 根据你的指导 ,我进步了!

wp231957 发表于 2022-7-4 21:24:16

panzhengwang 发表于 2022-7-4 21:22
谢谢 根据你的指导 ,我进步了!

你看的资料是有问题的
void main()这样的写法已经被最新的c标准所淘汰

6YKT6ZKm5LqI 发表于 2022-7-4 21:26:18

本帖最后由 6YKT6ZKm5LqI 于 2022-7-4 21:28 编辑

我也是小白,我觉得有两个地方有点问题:
1. main函数应该写上返回值并且main下面的代码是需要用大括号括起来的;
2. 把"\n"写在scanf里面是有问题的,scanf没有办法读取"\n", 所以会导致用户输入数据后按回车没有反应;
#include <stdio.h>

int main()
{
    int a;
    printf("input a number:\n");
    scanf("%d", &a); // 这里最好不要写\n噢!
    if (a < 60)
    {
      printf("E\n");
    } //第一次编译错误指示标在这里行
    else if ((60 < a || a == 60) && a < 70)
    {
      printf("D\n");
    }
    else if ((70 < a || a == 70) && a < 80)
    {
      printf("C\n");
    }
    else if ((80 < a || a == 80) && a < 90)
    {
      printf("B\n");
    }
    else
    {
      printf("A\n");
    }
    return 0;
}

柿子饼同学 发表于 2022-7-4 21:27:07

#include <stdio.h>
int main() // main 函数必须返回 int
{ // main 函数里面的代码必须有花括号包裹
    int a;
    printf( "input a number:\n" );
    scanf( "%d", &a); // 输入里不要加 \n
    if( a < 60 ) // 条件不要乱写 , 有 <= 和 >= , 做到不重复不遗漏
    {
      printf( "E\n" );
    }                                                
    else if( 60 <= a && a < 70 )
    {
      printf( "D\n");
    }
    else if( 70 <= a && a < 80 )
    {
      printf( "C\n" );
    }
    else if( 80 <= a && a < 90 )
    {
      printf( "B\n" );
    }
    else
    {
      printf( "A\n" );
    }
    return 0; // main 函数要返回 0
}// 同第 3 行

照着例子写

panzhengwang 发表于 2022-7-4 21:30:07

6YKT6ZKm5LqI 发表于 2022-7-4 21:26
我也是小白,我觉得有两个地方有点问题:
1. main函数应该写上返回值;
2. 把"\n"写在scanf里面是有问题 ...

谢谢大佬,你指出了另一个错误,这里就是因为多了一个\n,导致我在输入整型数字后,必须加上一个逗号,然后回车,才能使得输入结束,

panzhengwang 发表于 2022-7-4 21:35:16

柿子饼同学 发表于 2022-7-4 21:27
照着例子写

谢谢老师

柿子饼同学 发表于 2022-7-4 22:57:33

panzhengwang 发表于 2022-7-4 21:35
谢谢老师

都是同学 , 我也刚学的{:10_266:}
页: [1]
查看完整版本: 编译错误 不知道如何修改