Почему «еще» не исполняется? - PullRequest
0 голосов
/ 15 мая 2019

Почему Second printf печатает значение 5 четыре раза вместо блока else?

    int i=1;
    int main()
    {
       if (i<5)
       {
         i++; 
         printf("%d\n",i);
         main(); 
         printf("\n\n%d\n",i);
       }
       else
       return 0;
   }

Ответы [ 2 ]

1 голос
/ 15 мая 2019

Блок else выполняется.Вы бы поняли, если бы вы добавили оператор printf в блок else, как этот.

int i=1;
int main()
{
   if (i<5)
   {
     i++; 
     printf("%d\n",i);
     main(); 
     printf("\n\n%d\n",i);
   }
   else
   {
       printf("From Else Bloack, value of i is ",i);
   }
   return 0;
}

Блок else выполняется, когда условие предыдущего блока if становится ложным.

0 голосов
/ 15 мая 2019

Поскольку else идет с if: как только if выполнено с i <5, <code>else больше никогда не будет вызываться, даже если i достигнет 5 в инструкции i ++.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...