wedtorque Ответов: 2

Проблема в fgets кода


#include <stdio.h>
#include <stdlib.h>

void fun(int choice);
int array[10];

void main()
{
   int choice,i;
   scanf("%d",&choice);
   for(i=0;i<choice;i++)
   {
       fun(i);

   }

for(i=0;i<choice;i++)
    printf("\n%d\n",array[i]);
}

void fun(int choice)
{
      char string[50];
      int k,count1=0,count2=0,j=0,temp=0;
     fgets(string,50,stdin);
     j=strlen(string);


    for(k=0;k<j;k++)
    {
        if(string[k]=='a')
        count1++;
    else if(string[k]=='b')
        count2++;
    else

    break;
    }

     temp=count1-count2;
     if(temp<0)
        array[choice]=count1;
     else if(temp>0)
        array[choice]=count2;
     else
       array[choice]=0;

}


Что я уже пробовал:

мне нужно ввести в тест выбор=3
петля, кажется, идет 3 раза

в то время как fgets в функции fun принимает только 2 входа, он принимает нулевой символ в качестве первого входа .Почему?как это исправить

2 Ответов

Рейтинг:
4

jeron1

Может быть, взглянем на этот[^] нить на эту тему.