C循环停止在EOF但打印结果换行

我有这个代码:

#include  #include  #include  int main() { char vector[5][100]; int i = 0; int aux = 0; while (i <5 && scanf("%s", vector[i])!=EOF) { i++; aux+= 1; } for (i=0;i<aux;i++) { printf("%s\n", vector[i]); } return 0; } 

它做我想要的但仍然有一些问题。

第一个问题:(已解决)

如果输入abcdefghij则输出为:

  abcdefghi ja b c d e 

我是否可以这样做我按CTRL-D打印,新行中的第一个输出? 像这样的东西:

  abcdefghij a b c d e 

第二个问题:

如果我输入abc为什么我要按CTRL-D多次打印输出?

问候,

FAvolas

 printf("\n%s", vector[i]); 

只是