鱼C论坛

 找回密码
 立即注册
查看: 788|回复: 5

[已解决]比较大小

[复制链接]
发表于 2021-1-25 18:00:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求两个整数中的较大者。
#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,想问下哪里出了问题

等级不够,不能够发图片,另外,其他帖子里面那种直接一行行代码复制自带格式是怎么弄的呢
最佳答案
2021-1-25 18:15:16
本帖最后由 sunrise085 于 2021-1-25 18:17 编辑

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

使用道具 举报

发表于 2021-1-25 18:12:11 | 显示全部楼层
本帖最后由 风过无痕1989 于 2021-1-25 18:18 编辑

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



函数指针.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-25 18:15:16 | 显示全部楼层    本楼为最佳答案   
本帖最后由 sunrise085 于 2021-1-25 18:17 编辑

很大概率是输入的问题,scanf中是%d,%d,那么你输入的时候两个数字之间就必须有一个逗号,而且必须和前面scanf中的逗号一致,若一个是中文逗号,一个是英文逗号,那肯定就出错了
你的程序中好像是英文的逗号,但是你输入的可能是中文逗号。你再试试看
另外,给个建议:scanf中最好不要放除了格式化字符以外的内容,很容易因为输入导致出错。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

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

多谢,是输入的问题,中间逗号是中文逗号导致的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-1-25 18:42:30 | 显示全部楼层
风过无痕1989 发表于 2021-1-25 18:12
这是因为使用了函数。函数中若使用指针就一定行。

试了一下,的确不行,请问左边不能交换的原理是什么呢?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-1-25 18:50:52 | 显示全部楼层
NANAKI 发表于 2021-1-25 18:42
试了一下,的确不行,请问左边不能交换的原理是什么呢?

这个求助问题已经解决了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-15 08:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表