| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1949 人关注过本帖
标题:栈的基本操作,请指点哪里出现错误。
取消只看楼主 加入收藏
chenxd
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:20
专家分:24
注 册:2015-5-19
结帖率:33.33%
收藏
已结贴  问题点数:10 回复次数:1 
栈的基本操作,请指点哪里出现错误。
各位大神,请看一下我的顺序栈的建立与输出到底哪出现错误,百思不得其解。我用的是DEV-C。
#include <stdio.h>
#include <stdlib.h>
#include<malloc.h>

#define STACK_INIT_SIZE 100
typedef int SElemType;

 typedef struct {
    SElemType *base;
    SElemType *top;
    int StackSize;
}sqStack;

//创建栈
void InitialStack(sqStack *S)
{
    int a;
    S->base = (SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType));
    if(!S->base)
        printf("创建失败!\n");
    else
    {
        S->top = S->base;
        S->StackSize = STACK_INIT_SIZE;
        scanf("%d",&a);
        while(a!=-1&&((S->top )- (S->base )< (S->StackSize)))
        {
            *(S->top)=a;
            S->top++;
                     scanf("%d",&a);
        }
    }   
}
void StackPrintf(sqStack *S){
    SElemType *p;
    p=S->base;
    while(p!=S->top)
        {
        printf(" %d",*p);
        p++;}
}

int main(int argc, char *argv[]) {
   
    sqStack *S;
    printf("\n创建一个栈:\n");
    InitialStack(S);
    //输出栈
    StackPrintf(S);
    return 0;
}
搜索更多相关主题的帖子: include 
2015-11-26 20:57
chenxd
Rank: 2
来 自:北京
等 级:论坛游民
帖 子:20
专家分:24
注 册:2015-5-19
收藏
得分:0 
回复 2楼 hellovfp
谢谢!我在主程序中修改了一下,就可以了。
   sqStack stack,*S;
    S = &stack;

不要嘲笑我家樱木!
2015-11-27 12:48
快速回复:栈的基本操作,请指点哪里出现错误。
数据加载中...
 
   



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

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