| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 476 人关注过本帖
标题:运行到这里中断了 不知道为什么。。求帮助
只看楼主 加入收藏
zycz2p
Rank: 2
等 级:论坛游民
帖 子:22
专家分:10
注 册:2013-11-12
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:4 
运行到这里中断了 不知道为什么。。求帮助
程序代码:
void insert_flight(fly *&P, char *plane_num, char *city1, char *city2, char *time1, char *time2, int plane_room, float price, float zhekou, int sit)
{
    fly *q ;
    fly *p = P;
    q = (fly*)malloc(sizeof(fly));
    strcpy_s(q->plane_num, plane_num);
    strcpy_s(q->city1, city1);
    strcpy_s(q->city2, city2);
    strcpy_s(q->time1, time1);
    strcpy_s(q->time2, time2);
    q->plane_room = plane_room;
    q->price = price;
    q->zhekou = zhekou;
    q->sit = sit;
    //q->next = NULL;
    q->next = p->next;// 运行到这一句中断了【0x000A2D2B 处有未经处理的异常(在 飞机订票系统01.exe 中):  0xC0000005:  读取位置 0x0000006C 时发生访问冲突。】
    p->next = q;//如果把上一句注释掉用q->next=null,到这一句就中断了。。好蛋疼
    printf("hello");
    p = p->next;
}

我的目的是想在表尾插入数据,,参考了书上的例子。。不知道问题在哪里。。求帮助


2014-11-28 13:03
pmxiaoshuai
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2014-11-28
收藏
得分:3 
回复 楼主 zycz2p
你那个大写的P,为什么要那样写??你是直接把一个fly型的变量赋值一个fly*的变量吧,难道不报警告?
2014-11-28 13:25
zycz2p
Rank: 2
等 级:论坛游民
帖 子:22
专家分:10
注 册:2013-11-12
收藏
得分:0 
回复 2 楼 pmxiaoshuai
程序代码:
void init_fly(fly *&P)
{
    P = (fly*)malloc(sizeof(fly));
    if (P == NULL)exit(0);
    P->next = NULL;
}这个事初始化的,,没报警告啊
2014-11-28 13:28
pmxiaoshuai
Rank: 1
等 级:新手上路
帖 子:2
专家分:3
注 册:2014-11-28
收藏
得分:0 
回复 3 楼 zycz2p
你那个插入函数在哪调用的?我可以看一下你那个入参吗?
2014-11-28 13:34
liao06550107
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:2
帖 子:111
专家分:696
注 册:2011-10-2
收藏
得分:3 
问题一,这明明是不带头节点的表头插入,不知道最后一句有何用?
问题二,你没有考虑链表为空时,当p为空时哪有p-〉next。
问题三,使用*&P是为了返回修改后链表吧!P为指针本身的值。通过修改P本身值来返回修改后链表,可你却把P的值贼给小p想通过修改它来返回修改后的链表,这可行吗?

听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,走的多了,站的高了,自然就看的远了。
2014-11-28 13:55
快速回复:运行到这里中断了 不知道为什么。。求帮助
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015398 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved