windows 已在.exe 触发一个断点 是什么问题啊?
程序代码:[local]2[/local][local]1[/local]#include <stdio.h>
#include <stdlib.h>
int main()
{
char *array;
int string_size=10;
int i=0;
int j;
int c;
array=malloc(string_size*sizeof(char));
if(array==NULL)
{
printf("Can't get memory for that many values.\n");
exit(EXIT_FAILURE);
}
while((c=getchar())!='\n')
{
*(array+i)=c;
i++;
if(i%string_size==0) //如果输入的字符数大于10
{
free(array); //释放指针
array=malloc(string_size*sizeof(char)); //再次开辟一个数组
}
}
for(j=0;j<i;j++)
putchar(*(array+j));
free(array);
return EXIT_FAILURE;
}
程序要实现的功能:动态输入字符串,当字符串的长度大于某个值得时候,这个程序中是10,用malloc函数再开辟一个大小为10的空间存放数组
大神帮忙看一下问题出在哪里了?
[ 本帖最后由 砍柴1990 于 2014-9-18 21:56 编辑 ]



