C 之 字串拷貝函式 面試題目

2021-05-23 12:03:18 字數 779 閱讀 4476

1.已知strcpy 函式的原型是:

char *strcpy(char *strdest, const char *strsrc);

其中strdest 是目的字串,strsrc 是源字串。不呼叫c++/c 的字串庫函式,請編寫函式 strcpy

答案:c**

char *strcpy(char *strdest, const char *strsrc)

注意要點,

(1)傳過來的源指標strsrc所指的字串內容在該函式內是不能夠修改的,因此應該宣告為const型別。

(2)判斷源指標或目的指標為空的情況,思維嚴謹,要考慮異常處理。

(3)要考慮傳過來的源和目的指標指向同乙個記憶體區的情況,如果指向同一記憶體區則源指標=目的指標,直接返回其中乙個即可。

(4)函式原型要注意返回值為目的串的首位址,要考慮拷貝函式的返回值做其他函式的引數

c++**,因此在函式內要儲存目的指標的首位址。

(5)在拷貝字串時,有兩種方式要麼先判斷字元是否為空,再拷貝,這時候再迴圈外要給目的串加上'/0'字元;要麼先拷貝再判斷字元為空。

上面**是後一種形式。

前一種形式為  

while(*strdest!='/0')

*strdest++=*strsrc++;

*strdest='/0';

c++**:

char * strcpy(char * strdest,const char * strsrc)

從**中看出在c++**中多了乙個異常的處理,用throw拋擲異常。

面試題目之刪除字串

問題描述 在給定字串中查詢所有特定子串並刪除,如果沒有找到相應子串,則不作任何操作。要求實現函式 int delete sub str const char str,const char sub str,char result str 輸入 str 輸入的被操作字串 sub str 需要查詢並刪除的...

c 面試題字串拷貝函式示例

複製 如下 include using namespace std 字串拷貝函式 char scpy char strdest,char strsource 程式設計客棧nbsp d 0 補充最後一位 return strdest int main strcpy str1,str2 函式能夠將str...

C 面試題 之字串

基本上求職者進行筆試時沒有不考字串的。字串也是一種相對簡單的資料結構,容易引起面試官反 問。事實上,字串也是考驗 程式設計師程式設計規範和程式設計習慣的重要考點。不要忽視這些細節,因為這些細節會體現你在作業系統 軟體工程 邊界記憶體處理等方面的知識掌握能力,也會成為企業是否錄用你的參考因素。答案 i...