zoukankan      html  css  js  c++  java
  • 字符串复制

    要求:编写一个函数,实现相似strcpy的字符串复制函数。原型定义为 char * mystrcpy(char *dest, char *src)。功能是把src所指向的字符串拷贝到dest所指的数组中,返回dest指针。(提示:src和dest所指向的区域有可能重叠)。

    简单版本号:

    char * mystrcpy(char *dest, char *src)
    {
    	char *p = dest;
    	while(*src != ''){
    		*dest++ = *src++;
    	}
    	return p;
    }
    存储空间分析:



    上述情况没有考虑内存区域重叠的问题。也没有对输入參数进行合法性检測。

    改动后的版本号为:

    char * mystrcpy(char *dest, char *src)
    {
    	char *d = dest;//输入參数备份
    	char *s = src;
    	
    	int count = 0;
    	
    	assert(dest);//指针合法性检測
    	assert(src);
    	
    	if(src == dest){
    		return src;
    	}
    	count = strlen(src) + 1;
    	if(count<=1){
    		return 0;
    	}
    	if(dest < src || dest >= (src + count)){
    		while(count--){
    			*d++ = *s++;
    		}
    	}
    	else{
    		d = dest + count;
    		s = src + count;
    		while(count--){
    			*d-- =*s--;
    		}
    	}
    	return dest;
    }


  • 相关阅读:
    今年的第几天?
    特殊乘法
    abc
    求最大最小数
    二叉树遍历
    球的半径和体积
    成绩排序
    OC学习篇之---类的定义
    OC学习篇之---第一个程序HelloWorld
    OC学习篇之---类的初始化方法和点语法的使用
  • 原文地址:https://www.cnblogs.com/llguanli/p/8906680.html
Copyright © 2011-2022 走看看