为什么没有输出?

来源:百度知道 编辑:UC知道 时间:2024/05/08 18:36:30
#include <stdio.h>
void main()
{
float a,b,c,d,t;
scanf("%d%d%d%d\n",&a,&b,&c,&d);
if(a>b)
{
t=b;
b=a;
a=t;
}
if(a>c)
{
t=c;
c=a;
a=t;
}
if(a>d)
{
t=d;
d=a;
a=t;
}
if(b>c)
{
t=c;
c=a;
a=t;
}
if(b>d)
{
t=d;
d=b;
b=t;
}
if(c>d)
{
t=d;
d=c;
c=t;
}
printf("%d,%d,%d,%d\n",a,b,c,d);
}

刚入门,望高手不吝赐教

有两处错误
scanf("%f%f%f%f",&a,&b,&c,&d);
这里最后 的\n要去掉
还有%f而不是%d
下面的printf也一样printf("%f,%f,%f,%f\n",a,b,c,d);

你需要先输入,才会输出
scanf("%d%d%d%d\n",&a,&b,&c,&d);
这句话是让你先输入4个数

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

printf("%d,%d,%d,%d\n",a,b,c,d);改成
printf("%f,%f,%f,%f\n",a,b,c,d);

如果你原意是整数的话则将
float a,b,c,d,t;改成
int a,b,c,d,t;

注意:scanf一定要小心使用,一点点地不匹配也会导致严重的缓冲区溢出错误