qq_20281951
qq_20281951
采纳率50%
2019-09-30 18:49 阅读 243

各位会C语言的大佬们,我是新学者,遇到了问找不到原因了,求各位大神!!!!

我这个代码哪里有错误?
这是求两个整数中的较大的代码

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

不管输入什么只指出第一个。图片说明

就这样。

图片说明

求各位大佬们帮我

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

3条回答 默认 最新

  • 已采纳
    wyll19980812 Luweir23 2019-09-30 22:54

    scanf_s("%d,%d", &a, &b); 你在格式控制区域加了逗号 所以输入的时候 两个数字之间也要加逗号才能正确赋值
    如果就想正常输入的来 就改成scanf_s("%d%d", &a, &b); 格式控制那里不要加别的东西 自动以分隔符为间隔

    点赞 3 评论 复制链接分享
  • JonathanYan JonathanYan 2019-09-30 21:55

    scanf_s("%d,%d", &a, &b);改成scanf_s("%d %d", &a, &b);

    点赞 评论 复制链接分享
  • qq_42159808 学生党大组织 2019-10-01 10:52

    一个错误是scanf的输入错误,改成scanf("%d%d",&a,&b);即可,你在输入的时候数字之间空格是会被忽略的;
    另一个错误,其他函数声明要在主函数的前面,你可以把最后面的max函数改到前面,并且把主函数中的int max(int x,int y);删掉;又或者把主函数中的int max(int x,int y)声明到main函数的前面,这样就可以了。

    点赞 评论 复制链接分享

相关推荐