我想使用子字符串来计算输入特定单词的次数。我一直在玩我的代码,看看我是否可以让它工作,但我就是不明白!
我的代码如下:
#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";
char *t;
while (strcmp(buf, p) != 0)
{
fgets(buf, 1025, stdin);
t=strtok(buf," , - \n");
while(t != NULL)
{
if(strncmp(t, argv[1], strlen(argv[1])) == 0)
{
i++;
}
}
}
printf("%d\n", i);
return 0;
}
没有错误,但值i
始终为0。我不知道如何确保它在找到单词一次后继续计数。我试过sizeof(t) < j
了,但这不起作用。