ここでループを使いたいです。しかし、私の第二のfgetsは正しく動作しません!
第1ループでは大丈夫でした!その後、それはその2番目のfgetsをスキップします!
修正方法?
おかげループ内でfgetsを使用するには?
#include<stdio.h>
#include<string.h>
int main (void)
{
char first_line[1000];
char second_line[2];
int i,n,j,k;
int count=0,flag=0;
scanf("%d ",&k);
for(int m=0; m<k; m++)
{
fgets(first_line, 1000, stdin);
fgets(second_line, 2, stdin);
for(i=0; i<strlen(first_line); i++)
{
if(second_line[0]==first_line[i])
{
flag=1;
count++;
}
}
first_line[strlen(first_line)-1] = '\0';
if(flag==1)
printf("Occurrence of '%c' in %s = %d",second_line[0],first_line,count);
else
printf("%c isn't present",second_line[0]);
count=0;
flag=0;
}
return 0;
}
'char second_line [2];'は、実際の文字を1つだけ保持できます。 したがって、1行に1文字と改行がある場合、改行は次のループの 'fgets'に入力されます。 – BLUEPIXY
私はすでにこれを一回行いました! http://stackoverflow.com/q/43789708/7761980 – ThingyWotsit
'fgets()'の各呼び出しの戻り値をチェックする必要があることに注意してください。 –