关于c语言的问题。.

img


就是这个定义的max函数,为什么运行后就只输出1?真的看不出来哪出问题了。

错误的地方已在代码中注释标出改正,改为如下即可:

#include<stdio.h>
//此处出错,此处void类型函数 应改为 intint max(int a,int b) //多方面原因有一方面是因为return 返回整型数据 还有一方面就是 准确性 int更具体等
{
    int ret;
    if(a>b){
        ret = a;
    }
    else{
        ret = b;
    }
    return ret;
}

int main(){
    int a,b,c;
    a = 5;
    b = 6;
    c = max(10,12);
    c = max(a,b);
    c = max(c,23);
    printf("%d\n",max(a,b));
    return 0;
}

运行结果:

img


成功运行并比较。
以上仅供参考,希望对题主有所帮助!

你的max函数是void应该改成int

错误的地方已在代码中注释标出改正,改为如下即可:

#include<stdio.h>
//此处出错,此处void类型函数 应改为 intint max(int a,int b) //多方面原因有一方面是因为return 返回整型数据 还有一方面就是 准确性 int更具体等
{
    int ret;
    if(a>b){
        ret = a;
    }
    else{
        ret = b;
    }
    return ret;
}

int main(){
    int a,b,c;
    a = 5;
    b = 6;
    c = max(10,12);
    c = max(a,b);
    c = max(c,23);
    printf("%d\n",max(a,b));
    return 0;
}

运行结果:

img


成功运行并比较。
以上仅供参考,希望对题主有所帮助!