C语言面试题——字符串函数.docx
文本预览下载声明
2016 C语言面试题——字符串函数strcat/************************************************************************* File Name: strcat.c Author: AnSwEr Mail: 1045837697@ Created Time: 2015年10月07日 星期三 20时08分29秒 ************************************************************************/ /* * 连接字符串 */ #includestdio.h char *my_strcat(char *dest,const char *src) { char *temp = dest; const char *s = src; while(*temp != \0) temp++; while((*(temp++) = *(s++)) != \0); temp = \0; return dest; } int main(void) { char dest[] = he; const char src[] = llo; printf(%s\n,my_strcat(dest,src)); return 0; }strchr/************************************************************************* File Name: strchr.c Author: AnSwEr Mail: 1045837697@ Created Time: 2015年10月07日 星期三 19时55分12秒 ************************************************************************/ /* * 查找字符串中字符c第一次出现的位置 */ #includestdio.h #includeassert.h char *my_strchr(const char *str,int c) { assert(str); const char *p = str; while(*p) { if(*p == c) { return p; } p++; } return NULL; } int main(void) { char str[] = abcd; printf(%c\n,*my_strchr(str,b)); return 0; }/*?*?strchr?-?Find the first occurrence of a character?in?a?string?*?@s:?The?string?to?be searched?*?@c:?The character?to?search?for?*/char?*strchr(const?char?*s,?int?c){?for?(;?*s?!=?(char)c;?++s)?if?(*s?==?\0)?return?NULL;?return?(char?*)s;}strlen/************************************************************************* File Name: strlen.c Author: AnSwEr Mail: 1045837697@ Created Time: 2015年08月15日 星期六 16时24分06秒 ************************************************************************/ /* *strlen的实现 */ #includestdio.h unsigned int my_strlen(const char * str) { const char *tmp = str; int i; for(i=0;*tmp++ != \0;i++); return i; } int main(void) { char string[]= answer; printf(%d\n,my_strlen(string)); return 0; }/*?*?strlen?-?Find the length of a?string?*?@s:?The?string?to?be sized?*/size_t strlen(const?char?*s){?const?char?*sc;?for?(sc?=?s;?*sc?!=?\0;?++sc);?return sc?-?s;}strcpy/**
显示全部