花猫爱吃鱼
2021-03-19 22:45
采纳率: 66.7%
浏览 71

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • 蒟蒻一枚 2021-03-20 09:09
    已采纳

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

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

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

    点赞 1 打赏 评论
  • SoftwareTeacher 2021-03-19 23:10

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

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

    3,15, 4

     

    要包括逗号 “,“

     

    点赞 1 打赏 评论
  • 幻灰龙 2021-03-19 23:03

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

    点赞 打赏 评论
  • herosunly 2021-03-19 23:05

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

    点赞 打赏 评论
  • cpp_learner 2021-03-20 08:44

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

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

    点赞 打赏 评论
  • 日月星河XUED 2021-03-20 20:33

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

    点赞 打赏 评论

相关推荐 更多相似问题