C语言可以输出但结果不正确

#include <stdio.h>
int main()
{
	int max(int x, int y, int z);
	int a, b, c;
	scanf("%d,%d,%d", &a, &b, &c);
	c = max(a, b, c);
	printf("max = %d", c);
}
int max(int x, int y, int z)
{
	int u,n;
	if (x > y)u = x;
	else u = y;
	if (u > z)n = u;
	else n = z;
	return(n);

}

输出最大值max

可以运行但输出结果不正确

scanf("%d,%d,%d", &a, &b, &c);

题主可能输入格式错了吧,如果写成这样就要输入形如1,2,3的一组数,你应该输入的是形如1 2 3的数吧。scanf里面第一个参数是输入格式,这样输入需要写成

scanf("%d %d %d", &a, &b, &c);这样

scanf("%d,%d,%d", &a, &b, &c)

要求你的输入也要符合格式, 例如: 

3,15, 4

 

要包括逗号 “,“

 

你输入的测试用例是什么?请给出测试用例。如果能把你的测试用例对着你的代码人肉跑一下也许就知道为什么。

输入是多少导致结果不正确呢?

int max(int x, int y, int z);

你这个函数声明要写在main函数外面吧!

没有报错吗?你函数定义在main下面,main里面可以调用??