C语言编辑的一个问题

来源:百度知道 编辑:UC知道 时间:2024/06/04 10:13:52
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{t=x;x=y;y=x;}
if(x>z)
{t=z;z=x;x=t;}
if(y>z)
{t=y;y=z;z=t;}
printf("small to big:%d %d %d\n",x,y,z);
为什么我运行的时候,出现的是空白

当然是空格咯,你前面不是有一句“scanf("%d%d%d",&x,&y,&z); ”这个吗,这就是在要求输入啊,你此时就可以输入“3 2 1”,再回车就会有结果了。

VC环境下,运行正常,结果正常:
输入:2 3 1
输出:1 2 3

#include<stdio.h>

int main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{t=x;x=y;y=x;}
if(x>z)
{t=z;z=x;x=t;}
if(y>z)
{t=y;y=z;z=t;}
printf("small to big:%d %d %d\n",x,y,z);
return 0;
}

头文件加对了?
{t=x;x=y;y=x;} 里面y=x应该是y=t,不过这不是你说的问题的原因

int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if(x>y)
{t=x;x=y;y=t;}
if(x>z)
{t=x;x=z;z=t;}
if(y>z)
{t=y;y=z;z=t;}
printf("small to big:%d %d %d\n",x,y,z);

空白是什么意思?这段程序的意思是输入三个数字,程序按从小到大的顺序输出。

运行后,敲入 1 3 2, 会正确的输出 small to big:1 2 3

测试环境为vc++ 6.0, 完整程序如下:

#include <stdio.h>

int main()
{
int x,y,z,t;
scanf("