A529231559 发表于 2017-12-28 23:31:27

小白求助

        int a,b,c;
        printf("please input there numbers:");
        scanf("%d,%d,%d",&a,&b,&c);
        if(a>b)
        {
                if(a>c)printf("max=%d,min=%d",a,b>c?b:c);
                else printf("max=%d,min=%d",c,b);
        }
        else if(b>c)printf("max=%d,min=%d",b,a>c?c:a);
                else printf("max=%d,min=%d",c,a);
题目是输入三个数,最后输出最大和最小值。
我用上述代码输出的是的max都是a,然后b是一大串数字。问一下哪里出问题了

BngThea 发表于 2017-12-29 07:51:21

scanf里面的%d之间不要用逗号,用空格或什么都别用

A529231559 发表于 2017-12-29 11:14:28

BngThea 发表于 2017-12-29 07:51
scanf里面的%d之间不要用逗号,用空格或什么都别用

为什么不能用逗号,这个逗号有什么影响?

BngThea 发表于 2017-12-29 11:17:21

A529231559 发表于 2017-12-29 11:14
为什么不能用逗号,这个逗号有什么影响?

用逗号就要求在用户输入的时候必须用逗号隔开,还必须是英文逗号

A529231559 发表于 2017-12-29 11:19:10

BngThea 发表于 2017-12-29 07:51
scanf里面的%d之间不要用逗号,用空格或什么都别用

还有一个问题,输入有小数点的数字,为什么系统不强制转化成整形再输出,而是出现和逗号一样的问题

BngThea 发表于 2017-12-29 11:21:11

A529231559 发表于 2017-12-29 11:19
还有一个问题,输入有小数点的数字,为什么系统不强制转化成整形再输出,而是出现和逗号一样的问题

不为什么,因为小数你得用%f

A529231559 发表于 2017-12-29 14:36:25

BngThea 发表于 2017-12-29 11:21
不为什么,因为小数你得用%f

好的,谢谢了
页: [1]
查看完整版本: 小白求助