代码异常结束,不知道为啥,改变指针shead时我也传了shead的地址,判断是否栈空就不用传指针地址,应该是结构体地址?
为啥我这个链栈创建不成功
代码异常结束,不知道为啥,改变指针shead时我也传了shead的地址,判断是否栈空就不用传指针地址,应该是结构体地址?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- a5156520 2022-10-01 19:06关注
代码异常结束是程序崩溃了吗?我这里测试把把Is_Empty()函数里的 if(s->next=NULL)改为 if(s->next==NULL)好像就可以了。判断是否等于是==,不是=。
#include <stdio.h> #include <stdlib.h> #define True 1 #define False -1 struct Stack_Node{ int data; struct Stack_Node * next; }; void Create_Stack(struct Stack_Node **p){ (*p) = (struct Stack_Node *)malloc(sizeof(struct Stack_Node)); (*p)->next =NULL; } int Is_Empty(struct Stack_Node *s){ if(s->next==NULL){ // printf("False\n"); return False; }else{ // printf("NULL=%d,True\n",NULL); return True; } } int main(void){ int flag = 0; struct Stack_Node SN; struct Stack_Node * shead = NULL; shead = &SN; Create_Stack(&shead); flag = Is_Empty(shead); printf("%d",flag); return 0; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报 编辑记录
悬赏问题
- ¥15 抖音咸鱼付款链接转码支付宝
- ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
- ¥15 求螺旋焊缝的图像处理
- ¥15 blast算法(相关搜索:数据库)
- ¥15 请问有人会紧聚焦相关的matlab知识嘛?
- ¥15 网络通信安全解决方案
- ¥50 yalmip+Gurobi
- ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面
- ¥15 itunes恢复数据最后一步发生错误
- ¥15 关于#windows#的问题:2024年5月15日的win11更新后资源管理器没有地址栏了顶部的地址栏和文件搜索都消失了