pxxlzzh 发表于 2017-2-21 16:36:56

帮忙看下,下面程式存在什么问题。

#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=x;
        else z=y;
        return(z);
}
        当我输出数字a,b 不管 a是多少, max总显示a值,没有大小判断。

xw0314 发表于 2017-2-21 16:51:18

scanf("%d,%d",&a,&b);
改成scanf("%d %d", &a, &b); 即可
或者你的输入方式要按照上面的规定,例如44,55

zzxwbs 发表于 2017-2-21 16:52:18

我试了下没问题

夜墨 发表于 2017-2-21 17:50:33

你输入的方式要与代码中scanf函数中的格式保持一致,否则不会正确的对a和b赋值
例如:按照你写的方式,就应该输入 3,6 两个数中间输入一个逗号,就会使a = 3,b = 6了

fsd82ht 发表于 2017-2-22 13:57:18

我认为你没有在main()前面声明max()函数
页: [1]
查看完整版本: 帮忙看下,下面程式存在什么问题。