在C

时间:2015-09-26 19:50:54

标签: c arrays printing scanf

我将文本文件中的字符串存储到两个不同的数组中。文本文件的一行示例如

  

(字);(字词)

Word存储在eng []中,word2将存储到pir []。

i = 0;
int currentChar;
while( currentChar != EOF ) {   
    fscanf(inFile, "%[^;]; %[^\n]", eng[i], pir[i]);

    printf("%s ", pir[i]);
    currentChar = fgetc( inFile );

    i++;

}

如果我循环打印出eng []中的所有元素,我会将所有内容都打印出来。

 printf("%s ", eng[i]);

但是当试图打印出pir阵列时,我不会得到同样的东西。为了打印出每个元素,我需要做

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

然后它将每个元素打印在一个单独的行上,当我想要一行时。

我不确定为什么这样做(我是C的新手)。为什么会发生这种情况,我该怎么做才能将其打印出来?

1 个答案:

答案 0 :(得分:0)

printf("%s\n", pir[i]);必须为printf("%s", pir[i]);