我的程序哪里出问题了,
#include<iostream>
#include<cstdio>
#include<cstring>
#include<stack>
#define max 100
using namespace std;
int main()
{
stack<char>s;
int n,i,j;
int flag;
char str1[max],str2[max],t;
while(scanf("%d%s%s",&n,str1,str2)!=EOF)
{//输入:1 123 321 的时候出现错误,好像改了不可改的内存?
s.top();
i=0,j=0,flag=0;
while(j++<n)
{
while(s.top()!=str2[j])
{
s.push(str1[i++]);
}
while(s.top()==str2[j])
{
s.pop();
j++;
}
if(s.empty())
{
flag=1;
break;
}
}
cout<<flag<<endl;
}
return 0;
}
[解决办法]
你程序没进栈操作啊,怎么就访问栈顶了。。