为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬解答。为啥输入负数的时候就不对了。比如-25,6,58,。输出最大的数字却是-25.

求大佬解答。为啥输入负数的时候就不对了。比如-25,6,58,。输出最大的数字却是-25.

C++ C
weixin_慕慕5094496 2019-03-03 19:28:45
#include <stdio.h>int main()//编辑一个函数,输入三个数字,输出其中的最大值{ int max(int x,int y,int z); int a,b,c,d; scanf("%d,%d,%d",&a,&b,&c); c=max(a,b,c); printf("较大的数字是%d\n",c); return 0;}int max(int x,int y,int z){ int e; if(x>y && x>=z)e=x; else if(y>x && y>=z)e=y; else e=z; return(e);}
查看完整描述

3 回答

?
阴影的学徒

TA贡献2条经验 获得超0个赞

我测试了一下,你的代码逻辑是正确的

为什么错呢,应该就是因为你输入的逗号是在中文状态下输入的逗号,你在scanf中输入的是英文下的逗号,实际在控制台输入的时候也要输入英文状态下的逗号

这是一个小错误,下次一定要注意不要再犯

https://img1.sycdn.imooc.com//5ce259010001e94a04680216.jpg

另外在推荐一种输入的方式

就是直接%d%d%d,中间不留空格,这样你输入的时候,就只要在每个数之间加上空格就OK了

scanf("%d%d%d", &a, &b, &c);

例子如下(还是你的代码)

https://img1.sycdn.imooc.com//5ce259a80001356d02950179.jpg

查看完整回答
反对 回复 2019-05-20
  • 3 回答
  • 0 关注
  • 909 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信