java - 数据结构 c语言 作用域问题
PHPz
PHPz 2017-04-18 10:22:46
[Java讨论组]

问题用//标出来了,同样的语句为什么放入循环结果就完全不同了?

#include <stdio.h>
#include <stdlib.h>
#define OK 1
#define NO 0
int nn=0;
typedef struct Node
{
    int data;
    struct Node *next;
}Node,*Linkstackptr;
typedef struct
{
    Linkstackptr top;
    int count;
}Linkstack;

Linkstackptr Createstacktail(Linkstack *S,int n)   
{
    Linkstackptr r,p;
    S->count=0;

    Linkstackptr *L;
    *L=(Node*)malloc(sizeof(Node));
    (*L)->data=++nn;(*L)->next=NULL;
    r=*L;
    S->top=*L; S->count++;
    printf("%d\n",(*L)->data);          //
    int j;
    for(j=1;j<n;j++)
    {   printf("%d\n",(*L)->data);       //
        p=(Node*)malloc(sizeof(Node));
        p->data=++nn;
        p->next=NULL;
        r->next=p;
        r=p;
        S->count++;
    }
    //printf("%d\n",(*L)->data);
    //printf("%d\n",(*L)->next);
    return *L;
}

//bool push()
void Showlist(Linkstackptr L)
{
    while(L)
    {
        printf("%d\n",L->data);
        L=L->next;
    }
}
void main()
{
    Linkstackptr first;
    Linkstack S;
    first=Createstacktail(&S,3);
    //Showlist(first);
    //printf("%d\n",S.count);

    //Showlist(first);
}
PHPz
PHPz

学习是最好的投资!

全部回复(2)
天蓬老师

Code style 挺醉人的……

还是赶紧扔掉谭浩强吧

$ gcc linkstack.c -o link && ./link
[1]    6174 segmentation fault  ./link

$ gcc --version
gcc (Ubuntu 5.4.1-2ubuntu1~16.04) 5.4.1 20160904
Copyright (C) 2015 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
阿神

在学数据结构 可以去学堂在线上课,选择这堂课的资料学习,丢掉你现在手上的书,这代码风格,现代编译器一堆报错

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号