【发布时间】:2013-10-15 15:33:28
【问题描述】:
我有一个关于从 scanf 读取输入的问题。
用户输入两个命令之一。可以是单字命令,也可以是由一个空格分隔的双字命令。
例如:
开始
或
开始程序
我正在尝试从 scanf 读取。但我有一个问题。如果我这样做scanf("%s", input);,我假设他只会输入一个单词的命令。
如果我这样做scanf("%s %s", input1, input2); 我假设他将输入一个两字命令。但如果他输入一个单字命令,那么扫描器将不断消耗空白,直到读取到不同的字符。
对于两个单词的命令,我想将每个单词存储在一个单独的字符串变量中。
请帮忙。
【问题讨论】:
-
您的目标/问题到底是什么?你不知道,用户做了什么并且想要对任一选项做出正确的反应?
-
请注意,您可以使用 scanf("%s", &input),即与地址运算符一起使用。
-
@PhillipD;不确定
input是指针变量还是只是一个变量。 -
使用 fgets(),然后使用 sscanf()。请注意,scanf 和 sscanf 都返回解析的变量数。
-
@hacks 是的,你是对的。
标签: c string file-io input scanf