各位高手,有一个问题想讨教一下,谢谢~
在下面这段代码中,是怎么做到把secret.txt文件(见提问末)中的单词一个一个输入到word中的。
是不是原因是有while语句的原因呢?
但是本人还是不太懂while语句怎么做到把单词分开的。
代码如下:
#include <stdio.h>
int main()
{
char word[10];
int i = 0;
freopen(“secret.txt”,”r”,stdin);
freopen(“message1.txt”,”w”,stdout);
freopen(“message2.txt”,”w”,stderr);
while (scanf(“%9s”, word) == 1) {
i = i + 1;
if (i%2)
fprintf (stdout, “%s\n”, word);
else
fprintf(stderr, “%s\n”, word);
}
freopen(“con”, “r”, stdin);
return 0;
}
secret.txt文件:
THE BUY SUBMARINE SIX WILL EGGS SURFACE AND AT SOME NINE MILK PM
在下面这段代码中,是怎么做到把secret.txt文件(见提问末)中的单词一个一个输入到word中的。
是不是原因是有while语句的原因呢?
但是本人还是不太懂while语句怎么做到把单词分开的。
代码如下:
#include <stdio.h>
int main()
{
char word[10];
int i = 0;
freopen(“secret.txt”,”r”,stdin);
freopen(“message1.txt”,”w”,stdout);
freopen(“message2.txt”,”w”,stderr);
while (scanf(“%9s”, word) == 1) {
i = i + 1;
if (i%2)
fprintf (stdout, “%s\n”, word);
else
fprintf(stderr, “%s\n”, word);
}
freopen(“con”, “r”, stdin);
return 0;
}
secret.txt文件:
THE BUY SUBMARINE SIX WILL EGGS SURFACE AND AT SOME NINE MILK PM
解决方案
10
应该是第奇数个单词输入到message1.txt,第偶数个单词输入到message2.txt
10
scanf不能读入空格,空格会被当做空白符(空格(space)、制表符(tab)和新行符(newline))达到分隔的作用