用C語言寫出strcpy和strlen的函式的原型

2021-05-24 14:14:53 字數 1802 閱讀 8355

今天去文思創新面試,考官問了我乙個簡單的實現,即:自己編寫strcpm的實現,ibm曾經也考過寫strcpy原型,這幾個函式在面試的時候經常被考到,很具有代表性,突然被問起還真有點措手不及呢。現在記下供大家學習和以後溫習:(下面的程式經本人通過)

1、strcat函式原型如下:

char *strcat(char *strdest, const char *strscr) //將源字串加const,表明其為輸入引數

//向該字串的結束標誌』/0』。

while(*strdest++ = *strscr++)

//此處可以加語句*strdest=』/0』;有無必要?

return address;               //為了實現鏈式操作,將目的位址返回

}以下是在vc6.0中除錯的例子,函式名用strcata代替。

#include

#include

char *strcata(char *strdest,const char *strscr)

while(*strdest++ = *strscr++)

return address;

}void main()

;char str2[50]=;

printf("%s/n",strcata(str1,str2));

}2、strcpy函式原型如下:

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

*strdest = '/0';                       //當strscr字串長度小於原strdest字串長度

return address;                      //時,如果沒有改語句,就會出錯了。

}以下是在vc6.0中除錯的例子,函式名用strcpya代替。

#include

#include

char *strcpya(char *strdest, const char *strscr)

*strdest = '/0';

return address;

}void main()

;char str2[50]=;

printf("%s/n",strcpya(str1,str2));

}3、strcmp函式原型如下:

int strcmp (const char *str1,const char *str2)

return *str1-*str2;

}以下是在vc6.0中除錯的例子,函式名用strcmpa代替。

#include

#include

int strcmpa (const char *str1,const char *str2)

return *str1-*str2;

}void main()

;char str2[50] = ;

printf("%d/n",strcmpa(str1,str2));

}4、strlen函式原型如下:

int strlen(const char *str)

return len;

}以下是在vc6.0中除錯的例子,函式名用strlena代替。

#include

#include

int strlena(const char *str)

return len;

}void main()

;char str2[50] = ;

printf("%d/n",strlena(str1));

}

用C語言實現strcpy函式和strncpy函式

內容會持續更新,有錯誤的地方歡迎指正,謝謝 strcpy函式 strcpy是c語言中的乙個複製字串的庫函式,手動實現如下 char strcpy char des,const char sourse 也許你們會有疑惑 p p為乙個指標。是這樣的,和 是同一優先順序的運算子,所以按照右結合性來看,先執...

庫函式strcpy用C語言程式設計實現

面試題裡經常會有這些關於自己程式設計庫函式的題,這篇部落格先對strcpy進行模擬實現,後續會對其他的一些庫函式也進行實現。strcpy的功能就是複製字串 在模擬這個函式時,我們要注意目標字串必須可修改,必須足夠大,源字串必須以 0 結束。char my strcpy char arr1,const...

c語言strcpy 用法

strcpy,即string copy 字串複製 的縮寫。strcpy是一種c語言的標準庫函式,strcpy把從src位址開始且含有 0 結束符的字串複製到以dest開始的位址空間,返回值的型別為char 定義乙個字串char a 20 和乙個字串c i am a teacher 把c複製到a中就可...