请帮忙看看哪里出错了
#include<stdio.h>
#include<stdlib.h>
typedef struct SqStack
{
char* base;
char* top;
}SqStack;
void InitStack(SqStack* S)
{
(*S).base = (char*)malloc(300 * sizeof(char));
(*S).top = (*S).base;
}
void Push(SqStack* S, char e)
{
*((*S).top)++ = e;
}
int Pop(SqStack* S)
{
char e;
e = *--(*S).top;
return e;
}
int main() {
char A[26], B[26];
char s;
int b,l=0,k=0;
SqStack C;
InitStack(&C);
for (int u = 0; u < 26; u++) {
scanf("%c", &s);
if (s =='\n') break;
A[u] = s;
}
s = 'a';
for (int i = 0; i < 26; i++) {
scanf("%c", &s);
if (s == '\n') {
b = i ;
break;
}
B[i] = s;
}
int E = 0;
for (int j = 0; j < b - 1; j++)
for (int i = 0; i < b - 1; i++) {
if (A[i] == B[j] && A[i + 1] == B[j + 1]) E = 1;
}
if (E) printf("Are you kidding me?");
else {
while (l != b) {if(k==b) k=0;
if (A[k] == B[l]) { A[k%b] = '0'; printf("1->2\n"); l++; k++; }
else if (A[k] != '0') { Push(&C, A[k]); A[k] = '0'; printf("1->3\n"); k++; }
if (Pop(&C) == B[l]) { printf("3->2\n"); l++; }
}
}
return 0;
}
![img](https://img-mid.csdnimg.cn/release/static/image/mid/ask/973261305946188.png "#left")