字符串copy推导演变
2024-09-30 04:42:14
#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 ;
}
最新文章
- HTML5学习总结——canvas绘制象棋(canvas绘图)
- 【原】iOS学习之tableView的常见BUG
- CocoaPods第三方库管理 iOS
- 首师大附中互测题:50229234海岛帝国:独立之战【C002】
- mybatis-缓存1
- python获取命令行变量
- virtual box使用
- jQuery.bind() 函数详解
- 在VS中使用TinyFox调试OWIN应用(转)
- 浅谈ERP系统实施后如何完善企业内部控制制度建设
- 微软Hololens学院教程- Holograms 100: Getting Started with Unity【微软教程已经更新,本文是老版本】
- web开发的性能准则(减少页面加载时间方面)
- 数据绑定技术一:GridView控件
- 【java设计模式】【结构模式Structural Pattern】合成模式Composite Pattern
- 使用Vue和thrift建立前后端交互的demo
- Spark:将RDD[List[String,List[Person]]]中的List[Person]通过spark api保存为hdfs文件时一直出现not serializable task,没办法找到";spark自定义Kryo序列化输入输出API";
- NOIP 2014
- Stackoverflow 最受关注的 10 个 Java 问题
- django中 自定义User报错 已经注册的错误
- 最全的MonkeyRunner自动化测试从入门到精通(7)
热门文章
- eclipse Failed to load the JNIshared library
- iOS微信支付集成
- 深入了解MyBatis参数
- jquery checkbox选框操作
- &#39;<;>;&#39; operator is not allowed for source level below 1.7
- mybatis&;Hibernate区别
- HDUOJ-----1166敌兵布阵
- 基于HTTP在互联网传输敏感数据的消息摘要、签名与加密方案
- PMP备考经验分享
- 基于SpringCloud的微服务实践