不用庫函式實現strcpy,鏈式表示式

2021-06-20 06:54:56 字數 1057 閱讀 4265

已知strcpy函式的原型是 char *strcpy(char *strdest, const char *strsrc);

其中strdest是目的字串,strsrc是源字串。

(1)不呼叫c++/c的字串庫函式,請編寫函式

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

assert((strdest!=null) && (strsrc !=null)); // 2分

char *address = strdest; // 2分

while( (*strdest++ = * strsrc++) != 『\0』 ) // 2分

null ;

return address ; // 2分

(2)strcpy能把strsrc的內容複製到strdest,為什麼還要char * 型別的返回值?

答:為了實現鏈式表示式。 // 2分

例如 int length = strlen( strcpy( strdest, 「hello world」) );

1,就是方便一些,否則就要這樣寫:

char strdest[12];

strcpy( strdest, 「hello world」);

int length = strlen(strdest);

什麼鏈式就是一連串寫下來的意思。。。

其實,說白了,就是如果上面的字串拷貝函式strcopy的返回值是void,那麼,上面那句:

int length = strlen( strcpy( strdest, 「hello world」) );

就要像上面那位的回答,寫成好幾句了:

char strdest[12];

strcpy( strdest, 「hello world」);

int length = strlen(strdest);

而這種直接返回char *的手段,就是為了後來函式呼叫者方便而設計的.不用你這麼麻煩用上述方法去使用了,而直接可以使用拷貝後的dest字串了.這種方便的實現方法,看起來就是鍊子鏈在一起的,所以稱為 鏈式表示式

不用庫函式,自己實現strcpy和memcpy函式

1.實現 char strcpy char strdest,const char strsrc return strdest void memcpy void pdest,const void psrc,unsigned int size return pdest 2.strcpy和memcpy的區...

實現C庫函式strcpy

原型宣告 char strcpy char dst,const char src strcpy 實現沒有檢查dst和src記憶體重疊問題 char strcpy char dst,const char src const約束,內容不可變 return pstr 返回dst,允許鏈式表示式 檢查記憶體...

標準庫函式strcpy函式實現

最近在為找工作準備,無意中看到一道程式設計題目 實現 標準庫函式strcpy 題目比較簡單,主要考察以下兩點知識 一 c風格的字串以 0 結尾 二 規範的程式設計習慣。下面貼出博主用c 實現的 include include 呼叫assert函式 using namespace std 使用標準命名...