数据结构停车场问题,jinru函数不知道为什么赋值部分运行不了。

#include
using namespace std;
typedef struct
{
string data[20][3];
int top;
}SeqStack;
typedef struct
{
string data[40][3];
int rear, front;
}SeQueue;
SeqStack* s, * ss;
SeQueue* q;
SeqStack* Init_SeqStack(SeqStack* s)
{
s = (SeqStack*)malloc(sizeof(SeqStack));
s->top = -1;
return s;
}
int Empty_SeqStack(SeqStack* s)
{
if (s->top == -1)
return 1;
else
return 0;
int Push_SeqStack(SeqStack* s, string a[3])
{
if (s->top == 19) return 0;
else
{
s->top++;
s->data[s->top][0]= a[0];
s->data[s->top][1] = a[1];
s->data[s->top][2] = a[2];
return 1;
}
}
string* Pop_SeqStack(SeqStack* s)
{
string c[3];
c[0] = s->data[s->top][0];
c[1] = s->data[s->top][1];
c[2] = s->data[s->top][2];
s->top--;
return c;
}
int jinru(SeqStack* s,SeQueue* q)
{
string message, id, time;
string a[3],b[3];
cout << "please input message" << endl;
cin >> message;
cout << "please input id" << endl;
cin >> id;
cout << "please input time" << endl;
cin >> time;
a[0] = message;
a[1] = id;
a[2] = time;
if (s->top == 19)
{
q->rear++;
q->data[q->rear][0] = a[0];
q->data[q->rear][1] = a[1];
q->data[q->rear][2] = a[2];
cout << "yikai";
}
else
{
q->data[q->front][0] = b[0];/运行到这里莫名其妙就中止了/
q->data[q->front][1] = b[1];
q->data[q->front][2] = b[2];
q->front++;
Push_SeqStack(s, b);
q->rear++;
q->data[q->rear][0] = a[0];
q->data[q->rear][1] = a[1];
q->data[q->rear][2] = a[2];
}
cout << "已开入";
return 0;
int main()
{
string c;
extern SeqStack* s, * ss;
s = Init_SeqStack(s);
ss = Init_SeqStack(ss);
extern SeQueue* q;
q = (SeQueue*)malloc(sizeof(SeQueue));
q->front = -1;
q->rear = -1;
jinru(s,q);
return 0;
}

这个没有贴出车的chuqu()函数部分,因为jinru()不能运行,所以还没能让chqu()函数执行就没贴)