题目:http://acm.hdu.edu.cn/showproblem.php?pid=1880
AC代码:
#include<stdio.h> #include<string.h> #include<stdlib.h> char s[100001][110],a[100001][25],b[100001][90];//放在主函数里面就是堆栈溢出!!!!!!!! int main(){ int i=0,j,k,len,count,N; while(gets(s[i])!=NULL){ if(strcmp(s[i],"@END@")==0)break; i++; } count=i; for(i=0;i<count;i++){ len=strlen(s[i]); for(j=0;j<len;j++){ a[i][j]=s[i][j]; if(s[i][j]==']'){ break; } } for(k=j+2;k<len;k++){ b[i][k-j-2]=s[i][k]; } } scanf("%d",&N); char ex[1001][100]; getchar(); for(i=0;i<N;i++){ gets(ex[i]); for(j=0;j<count;j++){ if(strcmp(ex[i],a[j])==0){ printf("%s/n",b[j]); break; } if(strcmp(ex[i],b[j])==0){ for(k=1;k<100;k++){ if(a[j][k]==']')break; printf("%c",a[j][k]); } printf("/n"); break; } } if(j==count){ printf("what?/n"); } } system("pause"); }
把那几个字符数组定义放在主函数里面就出现堆栈溢出,不知道为什么?求高手指点...
posted on 2011-02-26 18:25 江南烟雨hust 阅读(214) 评论(0) 收藏 举报