Je veux utiliser une boucle ici. Mais mes seconds fgets ne fonctionnent pas correctement!
En 1ère boucle c'était bon! mais après ça il saute ses deuxièmes fgets!
Comment le réparer?
MerciComment utiliser les fgets dans une boucle?
#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];' ne peut contenir qu'un seul caractère réel. Donc, s'il y a une lettre et un saut de ligne sur une ligne, une nouvelle ligne sera entrée dans 'fgets' de la prochaine boucle. – BLUEPIXY
Je l'ai déjà fait une fois! http://stackoverflow.com/q/43789708/7761980 – ThingyWotsit
Notez que vous devez vérifier la valeur de retour de chacun des appels 'fgets()'. –