我需要编写一个程序,一次输入一行,只输出有两个标记的行。假设输入不超过 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;
}