NANAKI 发表于 2021-1-25 18:00:52

比较大小

求两个整数中的较大者。
#include<stdio.h>

int max(int x,int y)
{
        int z;
        if(x>y)z=x;
        else z=y;
        return(z);
}
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;
}

这是谭浩强原书里面的代码,为什么我输入2,5,显示max=2,想问下哪里出了问题

等级不够,不能够发图片,另外,其他帖子里面那种直接一行行代码复制自带格式是怎么弄的呢

风过无痕1989 发表于 2021-1-25 18:12:11

本帖最后由 风过无痕1989 于 2021-1-25 18:18 编辑

这是因为使用了函数。函数中若使用指针就一定行。



sunrise085 发表于 2021-1-25 18:15:16

本帖最后由 sunrise085 于 2021-1-25 18:17 编辑

很大概率是输入的问题,scanf中是%d,%d,那么你输入的时候两个数字之间就必须有一个逗号,而且必须和前面scanf中的逗号一致,若一个是中文逗号,一个是英文逗号,那肯定就出错了
你的程序中好像是英文的逗号,但是你输入的可能是中文逗号。你再试试看
另外,给个建议:scanf中最好不要放除了格式化字符以外的内容,很容易因为输入导致出错。

NANAKI 发表于 2021-1-25 18:35:40

sunrise085 发表于 2021-1-25 18:15
很大概率是输入的问题,scanf中是%d,%d,那么你输入的时候两个数字之间就必须有一个逗号,而且必须和前面sc ...

多谢,是输入的问题,中间逗号是中文逗号导致的

NANAKI 发表于 2021-1-25 18:42:30

风过无痕1989 发表于 2021-1-25 18:12
这是因为使用了函数。函数中若使用指针就一定行。

试了一下,的确不行,请问左边不能交换的原理是什么呢?

风过无痕1989 发表于 2021-1-25 18:50:52

NANAKI 发表于 2021-1-25 18:42
试了一下,的确不行,请问左边不能交换的原理是什么呢?

这个求助问题已经解决了
页: [1]
查看完整版本: 比较大小