#include <stdio.h>
#include<string.h>
/*基本水平*/
void mycopy1(char *des,char * sou)
{
unsigned int i;
for ( i = ; i < strlen(sou); i++)
{
des[i] = sou[i];
}
des[i] = '\0';//加上结束符
} /*初级水平*/
void mycopy2(char *des, char * sou)
{
while (*sou != '\0')
{
*des++ = *sou++;
}
*des = '\0';//同样加上结束符
} /*中级水平*/
void mycopy3(char *des, char * sou)
{
while( (*des++ =*sou++)!='\0')
{ }
//*des = '\0';//不再需要这句话
}
/*高级水平*/
void mycopy4(char *des, char * sou)
{
while (*des++ = *sou++)
{ }
//*des = '\0';//不再需要这句话
}
/*
注意,这里要求sou指针指向的是以'\0'结尾的字符串,如果都是字符数组,则不行,当然你也可以在
字符数组尾部加上'\0',让它成为一个判断标志
这个主要是锻炼思维,第四中情况,将在《c和指针》上看到应用,后续举例
*/
int main(void)
{
char str[] = "abcdef";
char str1[]; mycopy1(str1,str);
printf("str1=%s\n", str1); mycopy2(str1, str);
printf("str1=%s\n", str1); mycopy3(str1, str);
printf("str1=%s\n", str1); mycopy4(str1, str);
printf("str1=%s\n", str1);
return ;
}

字符串copy推导演变的更多相关文章

  1. 字符串copy

    #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<stdlib.h> #include<string. ...

  2. C++ 拆分字符串-copy()

    c++拆分字符串方法: #include <iostream>#include <string>#include <sstream>#include <alg ...

  3. C语言字符串操作总结大全

    1)字符串操作 strcpy(p, p1)  复制字符串  函数原型strncpy(p, p1, n)   复制指定长度字符串  函数原型strcat(p, p1)   附加字符串  函数原型strn ...

  4. C语言字符串操作总结大全(超详细)

    本篇文章是对C语言字符串操作进行了详细的总结分析,需要的朋友参考下 1)字符串操作  strcpy(p, p1) 复制字符串  strncpy(p, p1, n) 复制指定长度字符串  strcat( ...

  5. c语言的字符串操作(比较详细)

    1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...

  6. Windows内核下操作字符串!

    * Windows内核下操作字符串! */ #include <ntddk.h> #include <ntstrsafe.h> #define BUFFER_SIZE 1024 ...

  7. C++ Strings(字符串)

    Constructors 构造函数,用于字符串初始化 Operators 操作符,用于字符串比较和赋值 append() 在字符串的末尾添加文本 assign() 为字符串赋新值 at() 按给定索引 ...

  8. C语言字符串操作函数集

    1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度 ...

  9. Go 字符串连接+=与strings.Join性能对比

    Go字符串连接 对于字符串的连接大致有两种方式: 1.通过+号连接 func StrPlus1(a []string) string { var s, sep string for i := 0; i ...

随机推荐

  1. 修改模块搜索路径(注意:py运行完毕,就会失效,他只是临时产生效果)

    # -*- coding: utf-8 -*- #python 27 #xiaodeng #修改模块搜索路径(注意:py运行完毕,就会失效,他只是临时产生效果) import sys print sy ...

  2. 用C/C++开发android应用

    在某些情况下,比如原来与很多c/c++的代码, 可能希望采用c/c++编写android应用程序.在这种情况下,一般使用NDK.但是由于android直提供了java接口,因此不能够直接调用andro ...

  3. 转:【HTTP】常见错误码说明

    一些常见的状态码为: 200 - 服务器成功返回网页404 - 请求的网页不存在503 - 服务不可用详细分解: 1xx(临时响应)表示临时响应并需要请求者继续执行操作的状态代码. 代码 说明100 ...

  4. MSSQL-SQL SERVER 2008安装教程

    运行setup.exe     选择“安装”菜单,点击“全新安装或向现有安装添加功能. 环境检测通过,点击“确定”: 不用修改产品密钥,点击“下一步”: 点击“下一步”: 根据您的实际情况选择响应的组 ...

  5. jquery serialize对json的包装用法

    jquery对象.serialize()  可以多用于表单对数据封装提交 能够收表参数,形成一个json格式字符串, 前提是:必须为每一个表单项取一个name属性 对元素 设置 name属性, 然后 ...

  6. Android四款系统架构工具

    开发者若想开发出一款高质量的应用,一款功能强大的开发工具想必是不可或缺的.开发工具简化了应用的开发流程,也能使开发者在应用开发本身投入更多的精力.本文就为大家带来4款实用的Android应用架构工具. ...

  7. input text的所有事件

    onBlur 当 text field失去聚焦的时候执行一些代码 onChange 当 text field失去聚焦并且它的值发生变动的时候执行一些代码 onClick 当用户在 text field ...

  8. 安装Python 3.6

    原文地址:https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00143160904 ...

  9. Python练习笔记——采用生成器函数实现两数之间的偶数计算

    题目:编写一个生成器函数myeven(start, end),采用迭代器逐次实现[start, end)范围内的偶数计算2 4 6 8. ... def myeven(start, end): whi ...

  10. 当前上下文中不存在名称"Session"

    http://blog.csdn.net/muzai/article/details/8862902