C语言输出结果:max=%d是为啥?真神了个奇了!

是谭的计算机程序设计第五版最开头的一个例子,比较两个数的大小,输出结果总是不对,好像不是空格的问题……(我输的:8,9和8 9两种都试了)它输出结果总是显示max=%d(一开始还输出过max=1真离谱)
代码:

 //2.求两个数中的较大者
#include <stdio.h>
 int main()
 {
     int max(int x,int y);
     int a,b,c;
     scanf("%d,%d",&a,&b);
     c=max(a,b);
     printf("max=%d",c)
     return 0;
 }
int max(int x,int y)
{
    int z;
    if(x>y)z=x;
    else z=y;
    return(z);
}

这是输出结果,我重启了还是这样,,真的离谱,,

img

我这显示没问题,重启一下编辑器

1.你应该输入8,9这样的格式与scanf中的格式相对应。
2.第9行少了分号结尾。
3.没有语义上的问题,应该是可以实现的,你可以重现试一下,或者发一下你的输入输出情况让我们看看。

这样是没问题的,不知道你是什么原因

// 2.求两个数中的较大者
#include <stdio.h>

int main()
{
    int max(int x, int y);
    int a, b, c;
    scanf("%d,%d", &a, &b);
    c = max(a, b);
    printf("max=%d", c);
    return 0;
}

int max(int x, int y)
{
    int z;
    if (x > y)
        z = x;
    else
        z = y;
    return (z);
}