#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上使用了调试器,调用堆栈为空。
获取它的替代方法是fgets:
fgets(a, sizeof(a), stdin);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句