我需要编写一个程序,一次输入一行,只输出有两个标记的行。假设输入不超过 50 个字节。我使用 fgets 一次捕获一行,并使用 sscanf 一次获取令牌并查看它是否返回 2。但是,它似乎不起作用。有人可以建议怎么做吗?
#include <stdio.h>
int main(void)
{
char buff[50];
char token[50];
int number;
while (fgets(buff, sizeof(buff), stdin) != NULL)
{
while ((number = sscanf(buff, "%s", token)) != EOF)
{
number = sscanf(buff, "%s", token);
if (number == 2)
{
printf("%s\t", token);
}
}
}
return 0;
}