printf 数字输出 没有空格

大家好,我的程序代码如下:
#include<stdio.h>
int main()
{
int i=0,t,num[100];
while(scanf("%d",&num[i])!=EOF,i++);
t=i;
for(i=0;i<t;i++)
printf("%d ",num[i]);
printf("\n");
return 0;
}
要求没输出一个后面带个空格,为什么按照我这样写,那个空格没有输出呢?请问要如何才能输出这个空格,谢谢!

第1个回答  2012-05-01
可以试试将printf中的%d改为%5d,这样系统会将输出的数据间自动空出5歌
第2个回答  2012-05-01
不会呀,"%d "这样肯定是一个数加一个空格的。追问

我也觉得不会 但这是事实 可以运行试试!

追答

是逻辑错误。
while(scanf("%d",&num[i])!=EOF,i++);
这里,你输入一串数字,但是取的时候是%d,这个%d会把这一串数字当成一个数全部取走。
于是只有num[0]有东西。

本回答被提问者采纳
第3个回答  2012-05-01
在%d后面加一个空格追问

已经加上空格的 但不见输出!

追答

程序有问题啊,t始终为1,只能输出一个数字

相似回答