为什么我的函数中的count变量不增加?

时间:2019-12-10 04:40:01

标签: c function

我的函数notFull(classc,reservations)似乎根本不返回0

if(notFull(classc,reservations)==0 )
     {
        printf("%s class is FULL.Would you like %s class\n?", classc==1? "First":"Economy",classc==2? "First":"Economy");
        scanf(" %c",&ans);

        if(ans=='Y'||ans=='y')
           classc==1? classc=2:classc==2;
        if(ans=='n'||ans=='N')
           {
              printf("Next flight is in 3 hours\n");
              return 0;
           }

函数notFull中的count变量似乎并没有增加,因此总是返回0。

    int notFull(int classp,int reservationsp[])



    {
        int start,end,i=0,count=0;

       if(classp==1)
       {
           start=1,end=5;
       }
       else if(classp==2)
       {
           start=6,end=10;
       }

    for(i=start;i<=end;i++)
    { 
       if(reservationsp[i]==1)
       ++count;

      printf("%d\n",count);   //To check if count actually incremented                  


      if(count==5)
      return 0;
      else
      return 1;

   }

}

1 个答案:

答案 0 :(得分:0)

似乎计数必须增加,或者永远不等于5,才导致归零。 但是,您总是从第一次通过循环返回,因此您的函数肯定没有按照您的想法去做。 三元表达式也完全混淆了。 请多加注意,此功课需要大量帮助。