这个代码有什么问题呀,调试的时候能正常输出结果,但是直接运行,他会中断,然后返回一个return value 3221226356?
include <stdio.h>
include <stdlib.h>
include<malloc.h>
include<string.h>
struct node { char s[30]; struct node* link; }; int main(int argc, char argv[]) { int i=0,n; scanf("%d",&n); struct node p=NULL,*list=NULL,*q; while(i<n) { char ch[2]; int k=0; while(k<2) { scanf(" %c",&ch[k]); k=k+1; } getchar(); if(ch[0]=='i') { q=(struct node*)malloc(sizeof(4)); gets(q->s); q->link=p; p=q; } else { char c[30]; getchar(); gets(c); int len=strlen(c); while(1) { int j=0; while(j<len) { if(c[i]!=p->s[i]) break; j=j+1; } if(j==len) { p=p->link; break; } else { p=p->link; } } } i=i+1; } if(p==NULL) printf("Empty"); else puts(p->s); // 请在此输入您的代码 return 0; }