char *substring(char *text, int position, int length)
{
int i, j=0;
char *temp ;
for(i=position-1; i<position+length-1; i++)
{
temp[j++] = text[i];
}
temp[j] = '\0';
return temp;
}
嗨以下代码中的错误是什么..我试图在Fedora机器上运行此..它给我一个运行时错误“分段故障”。这是什么错误一回事..,为什么它给这个错误..要查找给定文本中的子字符串.. C程序
谢谢..
当您访问不应该存在的内存时,通常会出现“分段错误”。哎呀。程序中一个非常明显的缺陷就是'* temp'永远不会被初始化为任何东西。 [见Binky指针有趣的视频!](http://cslibrary.stanford.edu/104/) – 2010-05-05 05:56:57