是我错了还是turbo c有bug?
时间:2010-07-19
来源:互联网
#include <stdio.h>
struct intlink{
int x;
struct intlink *next;
};
getlowest (struct intlink *link)
/*get the node with lowest number and move the node to the head*/
{
struct intlink *head, *head0;
struct intlink *lowest, *lower;
head = link;
lowest = link;
head0 = link;
lower = link;
while (head != NULL){
if (head->x < lowest->x){
lowest = head;
lower = head0;
}
head0 = head;
head = head->next;
}
lower->next = lowest->next;
lowest->next = link;
link = lowest;
}
main()
/*链表排序,每次得到链表中最小的一个节点并把它移动到当前链表的头。然后,再对剩余的链表排序*/
{
struct intlink *linknode, *p;
linknode = (struct intlink *)malloc(sizeof(struct intlink));
linknode->x = 15;
linknode->next = (struct intlink *)malloc(sizeof(struct intlink));
p = linknode->next;
(*p).x = 10;
(*p).next = (struct intlink *)malloc(sizeof(struct intlink));
p = p->next;
p->x = 5;
p->next = NULL;
p = linknode;
while (p != NULL){
getlowest(p);
p = p->next;
}
p = linknode;
while (p != NULL){
printf (" ---%d--- ", p->x);
p = p->next;
}
getch();
}
结果是没有输出!
我调过了:输入正确、getlowest()也没有大毛病,但就是输出不了?!我觉得恐怕是指针出了问题,但我找不出来,或者是turbo C的bug?
作者: liklstar 发布时间: 2010-07-19
作者: rain_fish 发布时间: 2010-07-19
作者: liklstar 发布时间: 2010-07-19
while (head != NULL){
if (head->x < lowest->x){
lowest = head;
lower = head0;
}
head0 = head;
head = head->next;
}
作者: rain_fish 发布时间: 2010-07-19
打印每次执行结果。就知道在哪错了
作者: rune_zhang 发布时间: 2010-07-19
while (head != NULL){
if (head->x < lowest->x){
...
rain_fish 发表于 2010-07-19 12:42
老兄说得详细些好吗?在下初学C,不知道这里怎么死循环了?
作者: liklstar 发布时间: 2010-07-19
单链表 排序
作者: rain_fish 发布时间: 2010-07-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28