请教排序小问题

来源:百度知道 编辑:UC知道 时间:2024/06/25 11:14:54
#include<stdio.h>
void main()
{
int a,b,c,t;
printf("put into data:\n");
scanf("%d %d %d\n",&a,&b &c);
if(a<b)
{
t=a; a=b; b=t;
}
if(a<c)
{
t=a; a=c; c=t;
}
if(b<c)
{
t=b; b=c; c=t;
}
printf("%d %d %d\n",a,b,c);
}
我用VC运行C,为什么输入abc的时候必须要输4个数才能显示结果啊

问题在这句上
scanf("%d %d %d\n",&a,&b &c);
scanf输入时候要严格按照其中的格式,你的是 %d %d %d\n
所以输入数据的时候要数a b c 另外一个
其实那个\n没有必要

会吗?
虽然有四个变量。
等待其他回答。

不是scanf("%d %d %d\n",&a,&b &c); 这句,不加\n,
是scanf("%d %d %d\n",&a,&b &c);
希望成功解决!

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

"\n"导致了程序要输入第四个数,不过第四个数并不参与比较。
去看看库文件中scanf是怎么定义的就知道了反正微软写的定义很乱就是了。

你有没有发现scanf("%d %d %d\n",&a,&b &c);
b后面少一个,号?

还有用scanf的时候是不能加\n的。如果要换行可以在scanf前面或者后面加printf"\n";