| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 976 人关注过本帖
标题:求教/(ㄒoㄒ)/~为什么总是提醒我error C2146: syntax error : missing ';' ...
只看楼主 加入收藏
fanyueqi
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2015-5-8
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
求教/(ㄒoㄒ)/~为什么总是提醒我error C2146: syntax error : missing ';' before identifier 'Pop
#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>

#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -1
#define NULL 0

typedef int status;
typedef int Elemtype;

typedef struct node
{
    Elemtype data;
    struct node *next;
} LinkStack;

Status PopLinkStack(LinkStack *top,Elemtype &e)
{
    LinkStack *p;
    if(EmptyLinkStack(top))
    {
        printf("Stack Underflow");
        return OVERFLOW;
    }
    else
    {
        y=top->data;
        p=top;
        top=top->next;
        free(p);
        return OK;
    }
}

LinkStack * InitLinkStack(LinkStack *top)
{
    top=NULL;
    return top;
}


int EmptyLinkStack(LinkStack *top)
{
    if(top==NULL)
        return TRUE;
    else
        return FALSE;
}


LinkStack * PushLinkStack(LinkStack *top,Elemtype e)
{
    LinkStack *p;
    p=(LinkStack *)malloc(sizeof(LinkStack));
    p->data=e;
    p->next=top;
    top=p;
    return top;
}



Status GetTop(LinkStack *top,Elemtype &e)
{
    if(EmptyLinkStack(top))
    {
        printf("Stack Underflow");
        return OVERFLOW;
    }
    else
    {
        y=top->data;
        return OK;
    }
}

int main()
{
    int quit=1,k;
    Elemtype e;
    LinkStack *top=NULL;
    InitLinkStack(top);
    printf("1.压栈\n2.弹栈\n3.判断栈空\n4.取栈顶元素\n5.退出\n");
    scanf("%d",&k);
    while(1)
    {
        switch(k)
        {
        case 1:
        {
                printf("请输入压栈的数字:");
                scanf("%d",&e);
                PushLinkStack(top,e);
                break;
        }
        case 2:
        {
                if(PopLinkStack(S)==1)
                    printf("弹栈数据%d",e);
                else
                    printf("弹栈失败");
                break;
        }
        case 3:
        {
                if(EmptyLinkStack(S))
                    printf("空栈");
                else
                    printf("栈非空");
                break;
        }
        case 4:
        {
                if(GetTop(top,e)==1)
                    printf("栈顶元素%d",e);
                else
                    printf("栈空");
                 break;
        }
        case 5:
        {
                return 1;
        }
    }
}
搜索更多相关主题的帖子: include before return status 
2015-05-08 21:31
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:10 
为什么scanf("%d",&k);不是写在循环体内?怎么去执行不同的case?
2015-05-09 07:08
小狼烟
Rank: 2
等 级:论坛游民
威 望:1
帖 子:15
专家分:32
注 册:2011-11-23
收藏
得分:10 
你的大括号少了一个!!,在主函数的最后面添加一个大括号就好了

啦啦啦德玛西亚!
2015-05-11 11:41
快速回复:求教/(ㄒoㄒ)/~为什么总是提醒我error C2146: syntax error : missing ...
数据加载中...
 
   



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

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