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不是局部變量嗎,函數結束不是銷毀了嗎,為什么可以返回呢?
2 回答

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