很简单的比大小的函数却输出错误

**

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
    int max(int a, int b);
    int x, y, z;
    scanf("%d,%d", &x, &y);
    z = max(x, y);
    printf("max=%d\n",z);
    return 0;
}
int max(int a,int b)
{
    int c;
    if ( a > b )c = a;
    else c = b;
    return(c);

}**

代码如上
运行时无论我输入两个怎样的数字 输出总是为第一个数字

img

scanf("%d,%d", &x, &y);

里面的逗号去掉,变成

scanf("%d %d", &x, &y);

不然你的y就没得到你输入的值,就是一个大的负数,那么x永远大于y。
以后这种错误你可以在scanf之后把x、y的值打印出来看看。

一般这样写,这样键入:2 3回车

scanf("%d%d", &x, &y);

如果你这样写,就需要这样键入:2,3回车

scanf("%d,%d", &x, &y);