C: Как вы моделируете «исключение»?
Я пришел из C #, но сейчас изучаю C. В C #, когда кто-то хочет сообщить, что произошла ошибка, вы бросаете исключение. Но что ты делаешь в C?
Скажем, например, у вас есть стек сpush
а такжеpop
функции. Как лучше всего сигнализировать, что стек пуст во времяpop
? Что вы возвращаете из этой функции?
double pop(void)
{
if(sp > 0)
return val[--sp];
else {
printf("error: stack empty\n");
return 0.0;
}
}
К & амп; Rпример со страницы 77 (code above) возвращает0.0
, Но что, если пользователь нажал0.0
ранее в стеке, как узнать, является ли стек пустым или было возвращено правильное значение?