C语言代码报错?错在哪儿?

2025-03-23 05:42:17
推荐回答(3个)
回答1:

只有老式VC++编译器才规定变量声明必须放在最上方,C语言本身并没有这种规定。

另外如果你在用VC++的话,可以抛弃它了,因为比它智能、好用、简洁的编译器有的是,比如我用的Code::Blocks,而且国家二级计算机考试已经开始使用Visual C++ 2010 学习版(即 Visual C++ 2010 Express),也不用VC++了。

所以你的代码没什么错的

#include 

int main(void)  // C语言建议这么写,C++可以省略void
{
    int a,b,c;
    scanf("%d %d %d", &a,&b, &c);

    int max = 0;
    if(a>b)
        if(a>c)
            max=a;
        else
            max=c;
    else
        if(b>c)
            max=b;
        else
            max=c;

    printf("最大值为max=%d\n", max);
    
    return 0;  // 只有主函数的return 0;可写可不写,但仍然建议写上,尤其算法竞赛的时候
}

另外你的算法有些麻烦,如果只是比较三个数,可以这么写:

#include 

int main(void)
{
    int a,b,c;
    scanf("%d %d %d", &a,&b, &c);

    int max = a;
    if (max < b)
        max = b;
    if (max < c)
        max = c;

    printf("最大值为max=%d\n", max);

    return 0;
}

回答2:

#include 

int main()
{//少括号
    int a,b,c;
    int max = 0;//C++或C#可以在中间定义变量,但C只能在开头定义变量
    scanf("%d %d %d", &a ,&b, &c);
    if(a>b){
        if(a>c){
            max=a;
        }else{
            max=c;
        }
    }else{
        if(b>c){
            max=b;
        }else{
            max=c;
        }
    }
    printf("最大值为max=%d\n", max);
}//少括号

回答3:

if (a > b)
{
max = a;
}
else
{
max = b;
}

if (max < c)
{
max = c;
}