【发布时间】:2012-05-10 18:18:25
【问题描述】:
我想读取任意数量的字符串,一次一个,使用 C 语言中的<stdio.h>。
我知道你可以用整数来做到这一点:
while (scanf("%d ", &integer))
但我做不到:
while (scanf("%s", string))
我怎样才能实现上述?
输入在不同的行上。
【问题讨论】:
-
永远不要使用
scanf("%s")- 请参阅stackoverflow.com/questions/4023895/… -
如果您绑定了字符串大小(根据您链接到的答案),您可以使用 scanf。
-
阅读完每个字符串后,您想对它做什么?使用
scanf("%s", ...)将在循环的每次迭代中为您提供一个新的空格分隔单词,但大概您将在读取下一个之前对读取的值做一些事情。那个“东西”将决定你如何处理下一个单词的存储。 -
我想从输入位串创建一个二叉树,所以 scanf("%s"...) 然后为该字符串创建二叉树,然后继续下一个字符串,直到没有更多输入中的字符串