char *strcpy(char *strDest, const char *strSrc){if ( strDest == NULL || strSrc == NULL)return NULL ;if ( strDest == strSrc)return strDest ;char *tempptr = strDest ;}while( (*strDest++ = *strSrc++) != ‘\0’)return tempptr ;改為while( (*tempptr++ = *strSrc++) != ‘\0’)return strDest;指針tempptr不是局部變量嗎,函數(shù)結(jié)束不是銷毀了嗎,為什么可以返回呢?
2 回答

牧羊人nacy
TA貢獻(xiàn)1862條經(jīng)驗 獲得超7個贊
你返回的是tempptr中保存的內(nèi)存區(qū)的地址 也就是作為參數(shù)傳進(jìn)來的地址。而指針變量
tempptr 本身所占用的內(nèi)存區(qū)和他所指向的內(nèi)存區(qū)不是一回事。銷毀的只是tempptr本身所占用的內(nèi)存區(qū)
- 2 回答
- 0 關(guān)注
- 976 瀏覽
添加回答
舉報
0/150
提交
取消