BaselAla Ответов: 2

Как выйти из функции void


у меня есть эта функция , когда я использую обычный компилятор , она ухудшается , но когда я использую keil, это дает мне ошибку, которую мы можем использовать return в функции void .
как я могу выйти из этой функции после выполнения условия if?
Заранее спасибо

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

#include <stdio.h>
int onevalue(void){
    
    
    return 1;
}



void main(void)
{
    printf("Hello World \n");
    if (onevalue()==1)
    {
        printf ("Error")
      // what is the experssion here to stop this function (main function)  
    }
    for (int i = 0; i<3; i++)
    printf ("here :%d \n" ,  i);


}

CPallini

Вы действительно хотите, чтобы код вышел из основной функции? Насколько я знаю, компиляторы Keil кросс-компилируются для микроконтроллеров...

2 Ответов

Рейтинг:
7

W∴ Balboos, GHB

Вы можете иметь более одного возврата в функции. Поскольку это главный(), вы, возможно, пожелает, вместо того, чтобы рассмотреть выход из функции, а не.

Однако не должно быть никаких причин, по которым вы не можете использовать:

if (onevalue()==1)  {
        printf ("Error")
        return;
}


или заверните все это как можно скорее.:
void main() {
 if (onevalue()==1)  {
   printf ("Error")
 }
 else {
   for (int i = 0; i<3; i++)
   printf ("here :%d \n" ,  i);
 }
 return;
}


BaselAla

спасибо (:

W∴ Balboos, GHB

Если любой из ответов решает вашу проблему, пожалуйста, отметьте его как "принято", чтобы закрыть вопрос.

Рейтинг:
12

CPallini

правильное утверждение таково

return;


Например:
if (onevalue()==1)
    {
        printf ("Error");
        // what is the experssion here to stop this function (main function)  
        return; //<-- it's return!
    }


BaselAla

спасибо (: