为什么函数值无法返回
#include <stdio.h>int max( int a, int b );
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("max = %d\n", max(a, b));
return 0;
}
int max(int a,int b)
{
int t;
if(a>b)
{
t=a;
a=b;
b=t;
max(a,b)==a;
}
else if(b>a)
{
t=b;
b=a;
a=t;
max(a,b)==b;
}
return max(a,b);
} 本帖最后由 嘉岳呀 于 2021-10-28 20:20 编辑
呃 你的意思是这样吗?
#include <stdio.h>
int max( int a, int b );
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("max = %d\n", max(a, b));
return 0;
}
int max(int a,int b)
{
int t;
if(a>b)
{
return a;
}
else if(b>a)
{
return b;
}
} 你函数里面return一个同样的函数,直接无限递归了,你就规定a为最大值,当a>b时返回a,但a<b时交换a,b的值然后在返回a就行了 #include <stdio.h>
int max(int a, int b);
int main()
{
int a, b;
scanf("%d %d", &a, &b);
printf("max = %d\n", max(a, b));
return 0;
}
int max(int a, int b)
{
return a > b ? a : b;
}
页:
[1]