数据结构(c语言版)RETURN问题求教

比如说在给链表动态分配内存的时候分配不成功时有returnerror这表示什么意思啊执行了以后就直接跳出函数不往下执行了吗可是宏定义是#defineerror0;返回0就... 比如说在给链表动态分配内存的时候 分配不成功时 有 return error
这表示什么意思啊 执行了以后就直接跳出函数不往下执行了吗 可是 宏定义是
#define error 0; 返回0就就往下执行了?? return OK;才往下执行 可是C语言好像没这回事吧
那return error 和return OK 还有区别吗 不是都不往下执行了??
展开
 我来答
百度网友e18852f
推荐于2017-09-01 · TA获得超过460个赞
知道小有建树答主
回答量:240
采纳率:50%
帮助的人:148万
展开全部
#define error 0,宏定义,你懂得。

return error,就是return 0
而return OK就是return 1(头文件中宏定义了OK为1)
一个函数如果碰到了return,这个函数就不再往下执行了,直接跳出函数。

补充:对于被调函数,没有区别,都不往下执行了。但是对于主调函数,可以根据被调函数的返回值(0或者1)来执行相应的动作。
DirectsWP
2011-03-30 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:105
采纳率:0%
帮助的人:106万
展开全部
main函数中return 是指把控制权交还给操作系统,后面的0和1是返回给操作系统的状态,操作系统可以根据这个值判断函数的执行情况并做一些相应的处理。普通函数中的return是给调用函数返回一个状态值
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
秒懂百科
2020-12-31 · TA获得超过5.9万个赞
知道大有可为答主
回答量:25.3万
采纳率:88%
帮助的人:1.2亿
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jmx47ol
2011-03-31 · TA获得超过404个赞
知道小有建树答主
回答量:647
采纳率:0%
帮助的人:338万
展开全部
STACK_INIT_SIZE 100
#define OVERFLOW -1
#define OK 1
#define TRUE 1
#define FALSE 0

typedef int SElemType;
typedef int Status;

typedef struct {
SElemType *base; // 存储空间基址
SElemType * top; // 栈顶指针
int stacksize; // 允许的最大存储空间
// 以元素为单位
} SqStack;

Status InitStack (SqStack &S){
S.base = new SElemType[STACK_INIT_SIZE];
if (!S.base) exit (OVERFLOW); //存储分配失败
S.top = S.base;
S.stacksize = STACK_INIT_SIZE;
return OK;
}

Status Push (SqStack &S, SElemType e) {
//插入元素e为新的栈顶元素
if (S.top – S.base > = S.stacksize) //栈满
return OVERFLOW;
* S. top++ = e;
return OK;
}

Status Pop (SqStack &S, SElemType &e) {
//若栈不空,则删除S的栈顶元素,用e返回其值,
//并返回OK;否则返回ERROR
if (S.top = = S.base )
return ERROR;
e = * --S.top;
return OK;
}

Status StackEmpty (SqStack S)
{//若栈S为空栈,则返回TRUE,否则返回 FALSE。
if (S.top = = S.base )
return TRUE;
else return FALSE;
}

void conversion () {
// 对于输入的任意一个非负十进制整数,
//打印输出与其等值的八进制数
SqStack S;
int N;
InitStack(S); // 构造空栈
print("请输入一个非负十进制整数:\n");
scanf("%d",&N); // 输入一个十进制数
do{
Push(S, N % 8); // "余数"入栈
N = N/8; // 非零"商"继续运算
} while (N) ;
while (!StackEmpty(S)) {
// 和"求余"所得相逆的顺序输出八进制的各位数
Pop(S,e);
printf("%d",e);
}
} // conversion
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式