今天去文思創新面試,考官問了我乙個簡單的實現,即:自己編寫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中就可...