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

Python09

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

#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//返回字符串长度

}

#include <stdio.h>

#include <string.h>

int main ()

{

    char str1[10],str2[5],*p,i//这里用str1接收拼接后的字符串,确保str1大小够放!! 注意要留1位保存结束符'\0'

    strcpy(str1,"abcd")strcpy(str2,"efgh")

    printf("原字符串分别为:%s   %s\n\n",str1,str2)

    strcat(str1,str2)

    printf("用strcat拼接后字符串:%s\n\n",str1)

    strcpy(str1,"abcd")strcpy(str2,"efgh")

    p=&str1[strlen(str1)]

    for(i=0i<strlen(str2)i++)

        *p++=str2[i]

    *p=0

    printf("不用strcat拼接后字符串:%s",str1)

    return 0

}