【发布时间】:2010-11-16 04:59:02
【问题描述】:
我来自 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;
}
}
K&R 的第 77 页示例(上面的代码)返回 0.0。但是如果用户之前在栈中推送了一个0.0,你怎么知道栈是空的还是返回了正确的值呢?
【问题讨论】:
标签: c exception-handling stack