c语言自定义函数实现字符串的拼接、拷贝、比较大小、求字符串长度等四个功能

如题所述

#include<stdio.h>

void s_trcat(char *s1,char *s2);//连接两个字符串 

void s_trcpy(char *s1,char *s2);//字符串s2复制给字符串s1 

int s_trcmp(char *s1,char *s2);//两个字符串比较大小 

int s_trlen(char *s);//计算一个字符串的长度 

int main()

{

char s1[11]="12345", s2[11]="ABCDE";

char x1[11]="12345",x2[11]="SSSKK";

char str1[11]="ABCD",str2[11]="ACB";

char s[11]="ABCDEF";

int n,len;

s_trcat(s1,s2);//拼接s1,s2

printf("拼接s1,s2,输出s1\n");

puts(s1);

s_trcpy(x1,x2);//将x2的内容复制给x1

printf("将x2的内容复制给x1,输出x1\n");

puts(x1);

n=s_trcmp(str1,str2);//比较str1与str2大小,返回一个整数,代表比较的结果 

if(n==0)

printf("str1与str2相同\n");

if(n==1)

printf("str1大于str2\n");

if(n==-1)

printf("str1小于str2\n");

len=s_trlen(s);//计算字符串s的长度,并返回一个整数(字符串长度),

printf("字符串s的长度:%d\n",len); 

}

void s_trcat(char *s1,char *s2)//连接两个字符串 

{

char *p=s1;

char *q=s2;

while(*p)

p++;

while(*q)

{

*p=*q;

p++;

q++;

}

*p='\0';//给新字符串尾部加个结束符 

}

void s_trcpy(char *s1,char *s2)//字符串s2复制给字符串s1 

{

char *p=s1;

char *q=s2;

while(*p++=*q++);

*p='\0';//给新字符串尾部加个结束符 

}

int s_trcmp(char *s1,char *s2)//两个字符串比较大小 

{

char *p=s1;

char *q=s2;

int len1=0,len2=0;

while(*p++)

len1++;

while(*q++)

len2++;

p=s1,q=s2;

while(*p!='\0'&&*q!='\0')

{

if(*p>*q)

return 1;

if(*p<*q)

return -1;

p++;

q++;

}

if(len1==len2)

return 0;//返回0,两个字符串相同 

if(len1>len2)

return 1;//返回1,前大于后 

if(len1<len2)

return -1;//返回-1,前小于后 

}

int s_trlen(char *s)//计算一个字符串的长度 

{

char *p=s;

int len=0;

while(*p++)

len++;

return len;//返回字符串长度 

}

温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网