私のプログラムを機能させるために何度も試みた後、私は皆さんに頼ります。特定の単語が入力された回数をカウントするプログラムを作りたいです。その特定の単語が引数として指定されており、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 の値を表示しようとすると、非常に高速にカウントされていることがわかりました!
前もって感謝します!