标题:为什么这个输出不是正确结果,而是一串奇怪的负数,请大佬指点
只看楼主
ivent
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2018-11-21
结帖率:50%
已结贴  问题点数:20 回复次数:4 
为什么这个输出不是正确结果,而是一串奇怪的负数,请大佬指点
#include <stdio.h>
#include <conio.h>
void haha(int a,int b,int c);
int min;

int main()
{
    int x,y,z;
    printf("请输入3个整数:\n");
    scanf("%d,%d,%d",&x,&y,&z);
    haha(x,y,z);
    printf("三个数中的最小值为:%d",min);
    getchar();
}


void haha(int a,int b,int c)
{
    min=a;
    if(min>b)min=b;
    if(min>c)min=c;
}
搜索更多相关主题的帖子: 输出 结果 负数 int min 
2018-11-21 19:17
Tomorrw_I
Rank: 10Rank: 10Rank: 10
等 级:禁止访问
威 望:6
帖 子:406
专家分:1712
注 册:2018-10-16
得分:5 
scanf("%d,%d,%d",&x,&y,&z);

输入的每个变量,你要求的是逗号隔开!

学C有用吗?
学C++有前途吗?
数据库有必要学吗?
……
别问,你还什么都不会,学就对了
……
2018-11-21 19:22
帝师
Rank: 2
来 自:湖南
等 级:论坛游民
帖 子:166
专家分:92
注 册:2018-10-11
得分:5 
和上面的大佬说的原样输入,原样输出你的输出格式是自己定义成什么样子就要怎么样输入,特别在一些题目中规定有输入格式,而检查系统会很严格去检查

I am the voice of the next generation
Completely digital
Create synthetic auras
2018-11-21 20:02
C基础
Rank: 6Rank: 6
等 级:侠之大者
威 望:6
帖 子:133
专家分:421
注 册:2018-10-15
得分:5 
我建议如果输入的是数字的情况下,scanf语句中的格式控制符之间就不要用什么符号隔开了,不要给自己增加不必要的麻烦(当然也不是说加了就一定错,在你熟练的情况下可以加上)
2018-11-21 22:10
wlxy_wang
Rank: 5Rank: 5
等 级:职业侠客
威 望:2
帖 子:77
专家分:303
注 册:2018-11-2
得分:5 
scanf这个函数的输入格式字符串中,除了格式说明符外,其他任何字符如果存在,在键盘输入的时候,都要原样输入,楼主帖子中的输入scanf("%d,%d,%d",&x,&y,&z);中,格式字符串中包含了3个“,”,这三个逗号再输入数据的时候要求原样输入,而楼主截图显示再输入的时候没有按要求输出,这样x,y,z三个变量就不能够接收到输入的内容,而三个变量中原本的随机值就在haha函数中参与了比较,并赋给了min。
还有一点,全局变量尽量少用,切记!!!
2018-11-23 16:38



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-491445-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.614664 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved