【发布时间】:2013-12-01 20:45:52
【问题描述】:
我的目标是制作一个程序,它可以从输入中扫描一个单词,然后将其保存到一个大字符串中。
我确定输入总是单词'\n' 单词'\n' ...
所以我试图扫描单个字符并将其保存到一个数组中,并将'\n' 替换为' '。
我的代码:
char c;
char *line;
int len = 0;
while(!feof(stdin))
{
len++;
char *line = (char *)malloc(sizeof(char) * len);
scanf("%c", &c);
if (c == '\n')
line[len - 1] = ' ';
else
line[len - 1] = c;
}
int q;
for(q = 0; q < len - 1; q++)
printf("%c", line[q]);
输出错误。 (RUN FAILED (exit value 1, total time: 2s)
例如我想要输入:
one
two
three
four
five
这个用于输出:
"one two three four five"
【问题讨论】:
-
请提供更多详细信息,了解您作为输出收到的确切错误。
-
诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺诺。只留下可怜的
scanf()。你不需要它。你不想使用它。您需要健全、安全、易于使用的功能,例如getchar()或fgets()。您也绝对不想转换malloc()的返回值。