C语言 实现char * my_strcat(char * dest,char *src)函数
2015-03-27 17:52
811 查看
实现char * my_strcat(char* dest,char *src)函数.
返回: dest字符串的地址。
功能:将src指向的字符串追加到dest指向字符串的后面。
例如:char dest[10]= “andef”;
char *src = “ghi”;
my_strcat();之后,dest指向的字符串为”andefghi”.
分析:利用两次while来判断两个字符串的大小,运用指针来取地址,赋值。
源代码:
优化:第二个循环中的*i=*src;
i++; src++;可以合成一句话 *i++=*src++; //先解引用再加1,实际上的效果是一样的
返回: dest字符串的地址。
功能:将src指向的字符串追加到dest指向字符串的后面。
例如:char dest[10]= “andef”;
char *src = “ghi”;
my_strcat();之后,dest指向的字符串为”andefghi”.
分析:利用两次while来判断两个字符串的大小,运用指针来取地址,赋值。
源代码:
#include <stdio.h> char * my_strcat(char * dest,char *src) { char *i = dest; //将dest的首地址给了指针i while( *i != '\0' ) //字符串遍历求大小 { i++; } while( *src != '\0') //遍历src将其字符一个个传给dest { *i=*src; i++; src++; } *i='\0'; //将\0放到dest的最后 return dest; //因为在声明的时候是char *,所以返回一个字符指针,dest即为目标字符串 } int main() { char dest[10] = "abcdef"; //dest的定义千万不能写成char *dest char *src = "ghi"; char *p; p=my_strcat(dest,src); printf("%s",p); return 0; }
优化:第二个循环中的*i=*src;
i++; src++;可以合成一句话 *i++=*src++; //先解引用再加1,实际上的效果是一样的
相关文章推荐
- 【c语言】实现char * my_strcat(char * dest,char *src)函数. 返回: dest字符串的地址。 功能:将src指向的字符串追加到dest指向字符串的后面
- 【C语言】实现char * my_strcat(char * dest,char *src)函数. 返回: dest字符串的地址。 功能:将src指向的字符串追加到dest指向字符串的后面。
- 【C语言】实现char * my_strcat(char * dest,char *src)函数
- 实现追加函数char *my_strcat(char *dest,char *src)
- 实现char * my_strcat(char * dest,char *src)函数. 返回: dest字符串的地址。 功能:将src指向的字符串追加到dest指向字符串的后面
- c语言实现 char * my_strcat(char * dest,char *src)函数 追加字符串
- 实现char * my_strcat(char * dest,char *src)函数. 返回: dest字符串的地址。 功能:将src指向的字符串追加到dest指向字符串的后面
- 编写实现 函数char *strcat(char *dest ,char *src)
- 自己写一个strcpy(char*dest,char*src),如何在函数内部实现防御性溢出?
- 注意顺序____用C语言实现函数void * memmove(void *dest, const void *src, size_t n)
- 2.C语言实现函数void *memmove(void *dest, const void *src, size_t n)。memmove 函数的功能是拷贝src所指的内存内容前n个字节到dest所指
- 用C语言实现函数void * memmove(void *dest, const void *src, size_t n)
- 百度面试题——用C语言实现函数void * memmove(void *dest,const void *src,size_t n)
- 用C语言实现函数void * memmove(void *dest,const void *src,size_t n)
- 百度面试题——用C语言实现函数void * memmove(void *dest,const void *src,size_t n)
- C语言实现字符串拷贝函数char *strcpy(char *dest, const char *src)
- 用C语言实现函数void * memmove(void *dest,const void *src,size_t n)
- 用函数my_strcpy(char *dest,char *sour)实现strcpy()的功能
- 用C语言实现函数void * memmove(void *dest, const void *src, size_t n)
- 用C语言实现函数void * memmove(void *dest, const void *src, size_t n)。