【C语言】字符串处理自定义函数

您所在的位置:网站首页 c语言自定义函数怎么定义 【C语言】字符串处理自定义函数

【C语言】字符串处理自定义函数

2024-01-04 16:43| 来源: 网络整理| 查看: 265

前言:

字符串是我们接触得比较频繁的一种数据类型,通常我们会调用头文件里的函数进行字符串处理的相关操作,那么我们能否自己写自定义函数来实现相应的功能呢?接下来我们就来介绍一些常见的字符串处理自定义函数,相信通过下面的学习大家一定会对字符串处理有更加深刻的理解!

常见的字符串处理:

1、字符串求长度

#include int Mystrlen1(const char *str) { int i=0; while(*(str++)!='\0') { i++; } return i; } int Mystrlen2(const char *str) { int i; for(i=0;*(str++)!='\0';i++); return i; } int main() { char a[100]; scanf("%s",a); printf("%d\n",Mystrlen1(a)); printf("%d\n",Mystrlen2(a)); }

运行结果:

     

2、字符串拷贝(复制)

#include void Mystrcpy1(char *des,char *src) { while(*src!='\0') { *(des++)=*(src++); } *des='\0'; } void Mystrcpy2(char *des,char *src) { int i; for(i=0;*src!='\0';i++) { *(des++)=*(src++); } *des='\0'; } void Mystrcpy3(char *des,char *src) { while( *(des++)=*(src++)); } int main() { char a[100]="abcd"; char b[100]="123"; Mystrcpy1(a,b); printf("%s\n",a); char c[100]="abcd"; char d[100]="123"; Mystrcpy2(c,d); printf("%s\n",c); char e[100]="abcd"; char f[100]="123"; Mystrcpy3(e,f); printf("%s\n",e); }

运行结果:

3、字符串链接 

#include void Mystrcat(char *des,const char *src) { while(*des!='\0') { des++; } while(*src!='\0') { *des++=*src++; } *des='\0'; } int main() { char a[100]="abcd"; char b[100]="123"; Mystrcat(a,b); printf("%s\n",a); }

运行结果:

4、字符串比较

#include int Mystrcmp(const char *str1,const char *str2) { while(*str1==*str2 && *str1!='\0') { str1++; str2++; } if(*str1=='\0'&&*str2=='\0') { return 0; } else { return *str1-*str2; } } int main() { printf("%d\n",Mystrcmp("abc","ab")); printf("%d\n",Mystrcmp("ab","abc")); printf("%d\n",Mystrcmp("abc","abd")); printf("%d\n",Mystrcmp("ab","ab")); printf("%d\n",Mystrcmp("abad","abc")); }

运行结果:

5、字符串逆序

#include void Reverse_str(char *str) { char *p; char tmp; for(p=str;*p!='\0';p++) ; p--; while(str123, "a123"->0,"123x4->123)

#include #include int Myatoi(const char *str) { int sum = 0; while(isdigit(*str))//判断是否是数字 { sum = sum*10 + (*str-'0'); str++; } return sum; } int main() { char str1[]="123" ; char str2[]="a123" ; char str3[]="12x3" ; printf("%d\n",Myatoi(str1)); printf("%d\n",Myatoi(str2)); printf("%d\n",Myatoi(str3)); return 0; }

 运行结果:

7、数字转字符串

#include void Reverse_str(char *str) { char *p; char tmp; for(p=str;*p!='\0';p++) ; p--; while(str


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3