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