在调用中使用占位符是否违法fgets
?
例如,我编写了以下代码:
#include <stdio.h>
int main(void)
{
char input[32], name_first[16], name_last[16];
if (fgets(input, 32, stdin) == "My name is %s %s")
{
sscanf(input, "My name is %s %s", &name_first, &name_last);
printf("Your name is %s %s", name_first, name_last);
}
else
printf("What?");
getchar();
return 0;
}
我认为很容易看出我想用这个程序做什么。如果您输入句子“我的名字是”,程序将显示“您的名字是”,然后是您之后输入的前一两个单词。
我写这篇文章是为了练习使用fgets()
andsscanf()
代替scanf()
,但现在我很想知道我是否可以扩展它。