输入三个整数,使用函数的嵌套输出最小值

输入三个整数,使用函数的嵌套输出最小值。
下面是我的代码,不知道为什么输入三个两位数的时候输出的结果是1

img


输入其他的数就能输出正确的结果

img

#include"stdio.h"
int min2(int a,int b)
{
    if(a<b)
    {
        return(a);
    }
    else
    {
        return(b);
    }
}
int min3(int a,int b,int c)
{
    int d;
    if(d=min2(a,b)<c)
    {
        return(d);
    }
    else
    {
        return(c);
    }
}

main()
{
    printf("请输入三个整数\n");
    int a,b,c,min;
    scanf("%d%d%d",&a,&b,&c);
    min=min3(a,b,c);
    printf("最小数为;%d\n",min);
}

第十六行换成这样又正常了

img

img

if(d=min2(a,b)<c)
不能这样写,分开写,学习阶段不建议装B

int min(int a,int b)
{
    if(a<b)
      return a;
    return b;
}
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("%d",min(min(a,b),c));
    return 0;
}