鱼C论坛

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

[已解决]新手求助。不知道哪里出错了。

[复制链接]
发表于 2019-11-5 18:50:19 | 显示全部楼层 |阅读模式

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

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

x
求2个整数中的较大数,不知道哪里错了。
#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);
}
最佳答案
2019-11-5 19:19:07
程序没问题,我估计是你的输入有问腿,你的scanf函数是("%d,%d",&a,&b),你是不是输入的是a, 然后按了一下空格,再输入的b?
如果是这样,那你给a 赋的值是a 的值,但你的b 赋的值是空格,也就是空格的ASCII码的值(具体多少我忘记了),而你最后输入的b的值就被抛弃了,所以运行之后你的程序比较的是a 和空格的值。
想要正确运行的话,就这样输入,先输入a 再输入”,“(注意这里是英文输入法下的”,“),最后输入b。
最后我提醒你一下,scanf函数的输入是根据("")双引号里的东西来输入的,比如你写成("%d,%d",&a,&b),那你必须输入a,b;最好写成("%d%d",&a,&b),输入a,中间你输入多少空格都没问题,再输入b。
至于原因,就是scanf函数的还有一个参数叫分隔符,这方面的东西比较多,我就不细说,反正你scanf函数不特别指明那默认是以空格为分隔符,来区别一个数据和另一个数据的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-11-5 18:59:29 | 显示全部楼层
哪里出错了?你应该问你的编译器
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

 楼主| 发表于 2019-11-5 19:03:23 | 显示全部楼层
bin554385863 发表于 2019-11-5 18:59
哪里出错了?你应该问你的编译器

能运行是能运行,但无法实现取到2个整数中最大的值,我输入8,9结果就max=8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2019-11-5 19:05:01 | 显示全部楼层
本帖最后由 bin554385863 于 2019-11-5 19:06 编辑
a2881847 发表于 2019-11-5 19:03
能运行是能运行,但无法实现取到2个整数中最大的值,我输入8,9结果就max=8


int max(int x,int y)
{
        int z;
        if(x>y)
         z=x;
        else z=y;
        return(z);
}
把if---else的大括号加上,代码规范一些

偷工减料,最容易出些编译器不能是理解的bug
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2019-11-5 19:19:07 | 显示全部楼层    本楼为最佳答案   
程序没问题,我估计是你的输入有问腿,你的scanf函数是("%d,%d",&a,&b),你是不是输入的是a, 然后按了一下空格,再输入的b?
如果是这样,那你给a 赋的值是a 的值,但你的b 赋的值是空格,也就是空格的ASCII码的值(具体多少我忘记了),而你最后输入的b的值就被抛弃了,所以运行之后你的程序比较的是a 和空格的值。
想要正确运行的话,就这样输入,先输入a 再输入”,“(注意这里是英文输入法下的”,“),最后输入b。
最后我提醒你一下,scanf函数的输入是根据("")双引号里的东西来输入的,比如你写成("%d,%d",&a,&b),那你必须输入a,b;最好写成("%d%d",&a,&b),输入a,中间你输入多少空格都没问题,再输入b。
至于原因,就是scanf函数的还有一个参数叫分隔符,这方面的东西比较多,我就不细说,反正你scanf函数不特别指明那默认是以空格为分隔符,来区别一个数据和另一个数据的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2019-11-5 20:33:44 | 显示全部楼层
楼上说的对 改为
scanf("%d",&a);
scanf("%d",&b);
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-4 19:22

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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