#include<iostream>
#define n 100
using namespace std;
struct Stack{
char* base;
char* top;
char a[n];
int size;
};
void init(Stack &s){
s.base=s.a;
s.top=s.base;
}
void push(Stack &s, char e){
*s.top=e;
s.top++;
s.size++;
}
void pop(Stack &s){
s.top--;
s.size--;
}
void print(Stack &s){ //这里可能有问题,但找不出来
char* p=s.base;
while(p!=s.top)
cout<<*p;
}
int main(){
Stack s;
char c;
while(cin>>c){
push(s,c);
if(c=="#"){
pop(s);
pop(s);
}
if(c=="*")
break;
}
print(s);
}
解决方案
20
while(p!=s.top) cout<<*p;
指针不移动吗