划水豹 发表于 2019-3-3 10:49:41

求帮忙

#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\n",c);
return 0;
}
int max(int x,int y)
{
   
int z;
if ( x>y)z=y;
else z=y;
return(z);

   
}
为什么max=0

ba21 发表于 2019-3-3 11:07:15

每问题,你是怎么输入的?
3,2这样?

城墙墨 发表于 2019-3-3 11:41:18

不能用,输入例如3,2换成空格输入试试可以 例如3 2

ba21 发表于 2019-3-3 11:42:41

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

行客 发表于 2019-3-3 11:50:09

本帖最后由 行客 于 2019-3-3 11:51 编辑

问题出在scanf("%d,%d",&a,&b);这句,"%d%d"之间不应该有逗号。如果有疑问请查看scanf用法,或继续跟帖我来说明。
修改代码如下:
#include<stdio.h>

int main()
{
        int max(int x,int y);
        int a,b,c;
        //scanf("%d,%d",&a,&b);
        scanf("%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=y;        //这里也有错误,大于小于都等于y了可不对。
        if (x>y)z=x;
        else z=y;
        return(z);
   
}
页: [1]
查看完整版本: 求帮忙