MakaBako 2021-09-24 01:19 采纳率: 60%
浏览 26
已结题

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

**

#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

  • 写回答

2条回答 默认 最新

  • bostonAlen 2021-09-24 01:51
    关注
    scanf("%d,%d", &x, &y);
    

    里面的逗号去掉,变成

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

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 10月2日
  • 已采纳回答 9月24日
  • 修改了问题 9月24日
  • 创建了问题 9月24日