一道ACM题,运行都对,提交到OJ上出错:Segmentation fault:段错误,检查是否有数组越界
程序代码:
[local]1[/local] #include <stdio.h> int main() { int n; int i,j,k; char t; int jishu=0; char str[2][1200]={{0}}; int changdu; int pipei=0; scanf("%d",&n); for(i=0;i<n;i++) { //数组初始化 for(j=0;j<2;j++) { for(k=0;k<1100;k++) { str[j][k]=0; } } if(i==0) getchar(); //输入字符串 j=0; while(scanf("%c",&t),t!=10) { str[0][j]=t; j++; changdu=j; } while(scanf("%c",&t),t!=10) { str[1][j]=t; j++; } //检验 for(j=0;j<1100;j++) { for(k=0;str[0][k]==str[1][j];k++,j++) { jishu++; if(jishu==changdu) { pipei=1; goto out1; } if(str[1][j]==0) goto out1; } j-=jishu; jishu=0; } //输出 out1: if(pipei==1) { printf("yes\n"); } else { printf("no\n"); } pipei=0; } return 0; }