| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1348 人关注过本帖
标题:这个代码那个地方出问题了?
只看楼主 加入收藏
lsl9527
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-3-30
结帖率:0
收藏
已结贴  问题点数:20 回复次数:3 
这个代码那个地方出问题了?
#include<stdio.h>
#include<malloc.h>
#define MAXLEN 50                        //设定最大长度
#define SIZE 100
typedef struct
{
    char name[10];
    int age;
}DATA;

typedef struct stack
{
    DATA data[SIZE+1];            //数据元素
    int top;                            //栈顶
}StackType;

StackType *STInit()
{
    StackType *p;
    if(p=(StackType *)malloc(sizeof(StackType)))        //申请内存
    {
        p->top=0;                        //设置栈顶为0
        return p;                        //返回指向栈的指针
    }
    return NULL;
}

int STIsEmpty(StackType *s)                //判断栈是否为空
{
    int t;
    t=(s->top==0);
    return t;
}

int STIsFull(StackType *s)                //判断栈是否已满
{
    int t;
    t=(s->top==MAXLEN);
    return t;
}

void STClear(StackType *s)                //清空栈
{
    s->top=0;
}

void STFree(StackType *s)                //释放栈所占空间
{
    if(s)
    {
        free(s);
    }
}

int PushST(StackType *s,DATA data)            //入栈
{
    if((s->top+1)>MAXLEN)
    {
        printf("栈溢出!\n");
        return 0;
     }
     s->data
      [++s->top]=data;                //将元素入栈
     return 1;
     }

DATA PopST(StackType *s)                    //出栈
{
    if(s->top==0)
    {
        printf("栈为空!\n");
        exit(1);
    }
    return(s->data[s->top--]);
}

DATA PeekST(StackType *s)                    //读栈顶数据
{
    if(s->top==0)
    {
        printf("栈为空!\n");
        exit(1);
    }
    return (s->data[s->top]);
}

void conversion(int a,int b)
 {
     int i;
     StackType s;
     init(&s);
     while(a);
     {
         Push(&s,a%b);
         a=a/b;
     }
     while(!IsEmpty(&s))
     {
         i=Pop(&s);
         printf("%d",i);
     }
 }

int main(int argc,char *argv[])
 {
     int a,b;
     printf("please input the data you want to conversion\n");
     scanf("%d",&a);
     printf("please input the scale you want to convert to\n");
     scanf("%d",&b);
     conversion(a,b);
     return 0;
 }
     
搜索更多相关主题的帖子:  int top DATA return 
2021-03-30 16:37
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1507
专家分:9241
注 册:2010-3-16
收藏
得分:20 
函数名和调用时要一致
2021-03-30 16:55
lsl9527
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2021-3-30
收藏
得分:0 
回复 2楼 apull
能否具体说明
2021-03-30 17:38
apull
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:三体星系
等 级:版主
威 望:216
帖 子:1507
专家分:9241
注 册:2010-3-16
收藏
得分:0 
上面是StackType *STInit(){},下面是init(&s);,其他如Push,IsEmpty等都一样。
2021-03-30 21:10
快速回复:这个代码那个地方出问题了?
数据加载中...
 
   



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

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