3,882
社区成员




#include <stdio.h>
#include<stdlib.h>
#include<string.h>
char** a;
int d[10001];
char b[1000001];
int main()
{
int m,n,j,i,c;
scanf("%d%d",&n,&m);
a=(char**)malloc(n*sizeof(char*));
for(i=0;i<n;i++)
{
scanf("%d%s",&d[i],b);
a[i]=(char*)malloc(d[i]*sizeof(char*));
for(j=0;j<d[i];j++)
a[i][j]=b[j];
}
for(i=0;i<m;i++)
{
scanf("%d",&c);
c--;
for(j=0;j<d[c];j++){
printf("%c",a[c][j]);}
printf("\n");
}
for ( i = 0; i < n; i++) {
free(a[i]);
}
free(a);
system("pause");
return 0;
}为什么 char** a;
int d[10001];
char b[1000001];这个要设置全局变量放在int main中就出现“System.StackOverflowException”类型的未经处理的异常出现在 未知模块 中,求帮助