经过无数次尝试使我的程序正常工作后,我求助于你们。我想制作一个程序来计算输入特定单词的次数。该特定单词已被指定为参数,我试图通过使用 argc 和 argv 来回忆它。然后我希望程序计算我输入一个单词的次数并完成我希望能够输入 #EOF 以便它停止并向我显示结果。这是我迄今为止一直在尝试的。
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <string.h>
int main(int argc, char *argv[])
{
int i=0;
char buf[1026]={'\0'};
char *p="#EOF\n";
fgets(buf, sizeof buf, stdin);
while((strcmp(buf, p) !=0) && (fgets(buf, sizeof buf, stdin) != NULL ))
{
if(strncmp(buf, argv[1], strlen(argv[1])) == 0)
{
i++;
}
}
printf("%d", i);
return 0;
}
我完全没有错误,但也没有真正发生。我确实尝试检查故障在哪里,我发现当我尝试在 if 语句中显示 I 的值时,它的计数非常非常非常快!
提前致谢!