#include<stdio.h>
#include<string.h>
int main()
{
char a[1000000];
int i,j;
int arr[1000000];
gets(a);
unsigned long int len=strlen(a);
if(len<1000000){
for(i=0,j=len-1;i<len&&j>=0;i++,j--)
arr[j]=a[i]-'0';
}
return 0;
}
我正在使用此代码将通过键盘输入的数字存储到一个整数数组中。但它一直给我分段错误。我不知道它在哪里。另外我听说gets()
这不是一个好选择,但我不知道不知道如何使用替代方法来做到这一点。这似乎是一个相当简单的代码。谁能指出内存泄漏的地方,为什么?我在 Code::Blocks 上使用了调试器,调用堆栈为空。