| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 291 人关注过本帖
标题:写了个小代码来验证课本的源码,咋我总觉得那代码有问题,,求指点
只看楼主 加入收藏
iangzy
Rank: 1
等 级:新手上路
帖 子:27
专家分:8
注 册:2012-8-14
结帖率:30%
收藏
已结贴  问题点数:10 回复次数:1 
写了个小代码来验证课本的源码,咋我总觉得那代码有问题,,求指点
这是<C和指针>里面的一个源代码,自己加了点代码上去验证这个函数,咋我总觉得有点问题,调用函数后会在函数里for(....)语句处死掉,,求解,,,我用的编
程序代码:
#include<stdlib.h>
#include<stdio.h>
#include<malloc.h>
typedef struct NODE
{
    struct NODE*fwd;
    struct NODE*bwd;
    int value;
}Node;
int dll_insert(register Node*rootp,int value)
{
    register Node *This;
    register Node *Next;
    register Node *newnode;
    for(This=rootp;(Next=This->fwd)!=NULL;This=Next)
    {
        if(Next->value==value)
        {
            return 0;
        }
        if(Next->value>value)
        {
            break;
        }
    }
    newnode=(Node*)malloc(sizeof(Node));
        if(newnode==NULL)
        {
            return -1;
        }
        newnode->value=value;
        newnode->fwd=Next;
        This->fwd=newnode;
        if(This=rootp)
        {
            newnode->bwd=This;
        }
        else
        {
            newnode->bwd=NULL;
        }
        if(Next!=NULL)
        {
            Next->bwd=newnode;
        }
        else
        {
            rootp->bwd=newnode;
        }
        return 1;
}
int main()
{
    int judge,value;
    Node*rootp;
    printf("请输入数字,输入任意字母加回车则退出输入数据.");
    while (scanf("%d",&value)==1)
    {
        judge=dll_insert(rootp,value);
    }
    printf("\n\n\n开始打印\n");
    while(rootp!=NULL)
    {
        printf("%d",rootp->value);
        rootp=rootp->fwd;
    }
    return 0;
}
译器是VS2012

[ 本帖最后由 iangzy 于 2012-12-5 23:25 编辑 ]
搜索更多相关主题的帖子: 源代码 课本 
2012-12-05 23:19
Fisher~
Rank: 4
等 级:业余侠客
帖 子:93
专家分:222
注 册:2012-11-10
收藏
得分:10 
你的rootp指针没有初始化,所以是野指针,你用malloc申请一下空间就行了
2012-12-05 23:29
快速回复:写了个小代码来验证课本的源码,咋我总觉得那代码有问题,,求指点
数据加载中...
 
   



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

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