程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> 編程語言-這段代碼有什麼錯誤,為什麼輸入後就不能運行了??

編程語言-這段代碼有什麼錯誤,為什麼輸入後就不能運行了??

編輯:編程解疑
這段代碼有什麼錯誤,為什麼輸入後就不能運行了??

#include
#define MAX 100

//順序棧的定義
typedef struct{
int *base;
int *top;
int stacksize;
}SqStack;

//初始化
int InitStack(SqStack &S){
S.base=new int[MAX];
if(!S.base){
return 0;
}
S.base=S.top;
S.stacksize=MAX;
return 1;
}

//入棧
int Push_S(SqStack &S,int e){
//將元素e入棧
if(S.top-S.base==S.stacksize){//判斷棧是否滿
return 0;
}
S.top++=e;
//S.top+=1;
return 1;
}
//出棧
int Pop_S(SqStack &S,int &e){
//用e返回出棧的元素
if(S.top==S.base){//棧空
return 0;
}
e=
--S.top;
return 1;
}

int main(){
SqStack S;
if(InitStack(S)){
printf("順序棧初始化成功!\n");
}else{
printf("順序棧初始化失敗!\n");
}

printf("請輸入入棧元素:");
int e1;
scanf("%d",&e1);
if(Push_S(S,e1)){
    printf("入棧成功!\n");
}else{
    printf("入棧失敗!\n");
}

}

最佳回答:


S.base=S.top;
寫反了
S.top=S.base;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved