| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1195 人关注过本帖
标题:数据结构:这里break怎么变非法了?
只看楼主 加入收藏
天空种子
Rank: 1
等 级:新手上路
帖 子:4
专家分:0
注 册:2009-11-16
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
数据结构:这里break怎么变非法了?
#include<stdio.h>
#include<stdlib.h>
#define STACK_INIT_SIZE 100
typedef struct
{
int *pBase;
int *pTop;
int stacksize;
}SqStack;
void InitStack(SqStack &s);
void Push(SqStack &S,int e);
void Pop(SqStack &S, int &e);
void main()
{
SqStack s;        //StackProperty.pBase,StackProperty.pTop,StackProperty.stacksize
int iData;

InitStack(s);

Push(s,75);        //向堆栈中压入四个数
Push(s,26);
Push(s,-999);
Push(s,60);
        //向堆栈中压入四个数


getchar();            //依次让栈中数据出栈
Pop(s,iData);
getchar();
Pop(s,iData);
getchar();
Pop(s,iData);
getchar();
Pop(s,iData);


}


void InitStack(SqStack &s)
{
    s.pBase = (int*)malloc(STACK_INIT_SIZE*sizeof(int));
    s.pTop = s.pBase;
    s.stacksize = STACK_INIT_SIZE;
}
void Push(SqStack &s,int e)               
{
    if (e==-999)break;

    else
        *s.pTop++=e;
}
void Pop(SqStack &s, int &e)                //出栈函数(p47)
{

e = *(--s.pTop);
// --S.pTop;
printf("\n The element poped is :%d",e);
}
请各位帮忙看看怎么运行不了
搜索更多相关主题的帖子: break 数据结构 
2009-11-19 22:07
lijm1989
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:珠海
等 级:贵宾
威 望:12
帖 子:675
专家分:2844
注 册:2009-10-14
收藏
得分:5 
用return;代替break;
如果是想直接结束的话,用exit(0);直接退出。。。
2009-11-19 23:24
xiaoqing8731
Rank: 2
等 级:论坛游民
帖 子:23
专家分:32
注 册:2009-10-9
收藏
得分:15 
break的作用是跳出循环(如果这个break在循环中的if语句里面,不是跳出if语句,而是跳出循环语句),执行这个循环的大括号以后的语句,break在循环语句中是这样,在switch语句用功能也是这样的,而你这里显然没有循环   break用法错误
2009-11-23 16:01
xiaoqing8731
Rank: 2
等 级:论坛游民
帖 子:23
专家分:32
注 册:2009-10-9
收藏
得分:0 
哈哈  发现问题了   你应该是初学数据结构吧    里面你有时用的是栈的顺序存储   有时又用链式表示   你看看是不?
明天给你发过去这两种表示方法     到时候你再看看

2009-11-23 20:05
快速回复:数据结构:这里break怎么变非法了?
数据加载中...
 
   



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

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