程式設計實現strcpy函式

2021-06-18 02:54:30 字數 1269 閱讀 6989

已知strcpy函式的原型是:

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

(1)不呼叫庫函式,實現strcpy函式。

(2)解釋為什麼要返回char *。

**如下:

1         #include

23       char * strcpy(char * strdest, const char * strsrc) // 實現strsrc到strdest的拷貝

4      

9                char *strdestcopy = strdest;        //儲存目標字串的首位址

10              while ((*strdest++ = *strsrc++)!='\0'); //把strsrc字串的內容拷貝到strdest下

11    

12              return strdestcopy;

13     }

14    

15     int getstrlen(const char *strsrc)         //實現獲取strsrc字串的長度

16    

22    

23              return len;

24     };

25    

26     int main()

27    

(1)strcpy函式的實現說明:

**5~7行判斷傳入的引數strdest和strsrc是否為null,如果是則返回null。

**第9行把strdest的值儲存到strdestcopy。

**第10行對strsrc和strdest兩個指標作迴圈移動,並不斷把複製strsrc記憶體的值到strdest記憶體中。

由於第(2)步中儲存了strdest的值,因此這裡只需返回strdestcopy,那麼函式呼叫完後返回的就是strdest的值。

(2)為什麼strcpy函式要返回char *型別呢?這是為了能使用鏈式表示式。由於在strcpy中使用了char *返回型別,因此在**32行中可以通過這種鏈式表示式來同時做兩個操作。首先呼叫strcpy使得strdest複製了strsrc指向的記憶體資料,然後呼叫getstrlen函式獲取strdest字串的長度。這樣不僅呼叫方便,而且程式結構簡潔明瞭。程式的輸出結果如下:

1      strdest: hello world!

2       length of strdest: 12

strcpy函式實現

已知strcpy函式的原型是 char strcpy char strdest,const char strsrc 不呼叫 庫函式,實現strcpy函式。解釋為什麼要返回char 解說 strcpy的實現 char strcpy char strdest,const char strsrc 錯誤的做...

實現strcpy函式

strcpy函式是字串複製函式。define crt secure no warnings include include includechar strcpy char dest,const char src dest 0 return dest int main strcpy函式編寫思想 首先要...

strcpy函式實現

題目 已知strcpy函式的原型是 char strcpy char strdest,const char strsrc 1.不呼叫庫函式,實現strcpy函式。2.解釋為什麼要返回char 解說 1.strcpy的實現 char strcpy char strdest,const char str...