qq_39781557 2018-10-08 06:47 采纳率: 0%
浏览 548

新手提问,C语言链表的一个练习,这个程序为什么会卡住?

#include
#include

typedef struct _node{
int value;
struct _node *next;
}Node;

int main(int argc,char const *argv[])
{
Node *head=NULL;

  1. int number;
  2. do{
  3. scanf("%d",&number);
  4. if(number!=-1){
  5. Node *p=(Node*)malloc(sizeof(Node));
  6. p->value=number;
  7. p->next=head->next;
  8. head->next=p;
  9. }
  10. }while(number!=-1);
  11. for(Node *q=head->next;q;q=q->next){
  12. printf("%d",q->value);
  13. }
  14. for(Node *p=head;p;p=p->next){
  15. free(p);
  16. }
  17. return 0;

}

只能运行到第一次输入,卡在p->next=head->next;
图片说明

以及Program received signal SIGSEGV, Segmentation fault.

是因为head的next为NULL吗?

展开全部

  • 写回答

2条回答 默认 最新

  • cold_windx 2018-10-08 16:59
    关注

    你head是NULL,你这个head指针指向的数据是不存在的,也就是head的next不存在

    评论
  • wain844655441 2018-10-11 18:32
    关注

    head是空指针,没有分配内存,当然报错啦

    评论
编辑
预览

报告相同问题?

悬赏问题

  • ¥15 宝塔面板一键迁移使用不了
  • ¥15 求一个按键录像存储到内存卡的ESP32CAM代码
  • ¥15 如何单独修改下列canvas推箱子代码target参数?,插入图片代替其形状,就是哪个绿色的圆圈每关用插入的图片替代
  • ¥20 四叉树的创建和输出问题
  • ¥15 javaweb连接数据库,jsp文件加载不出来
  • ¥15 matlab关于高斯赛德尔迭代的应用编撰。(相关搜索:matlab代码|迭代法)
  • ¥15 损失匹配问题,求解答
  • ¥15 3500常用汉字书法体检测数据集下载
  • ¥15 odoo17在制造模块或采购模块良品与次品如何分流和在质检模块下如何开发
  • ¥15 Qt音乐播放器的音乐文件相对路径怎么写
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部