1 my_strcat()函数的实现
链接函数
#include<stdio.h>
#include <string.h>
void my_strcat(char* arr, char* brr) {
int len1 = strlen(arr);
int len2 = strlen(brr);
int j = 0;
while (j <= len2) {
arr[len1+j] = brr[j];
j++;
}
}
int main() {
char arr[10] = "abc";
char brr[] = "def";
my_strcat(arr, brr);
printf("%s\n", arr);
}
2 my_strcpy()函数的实现
拷贝函数
#include<stdio.h>
#include <string.h>
void my_strcpy(char* arr,char* brr) {
int len = strlen(brr);
int i = 0;
while(i <= len){
arr[i] = brr[i];
i++;
}
}
int main() {
char arr[10];
char brr[] = "def";
my_strcpy(arr, brr);
printf("%s\n", arr);
}
3 my_strcmp()函数的实现
比较函数
- 当两字符串相等时,该函数返回0;
- 当第一个字符串大于第二字符串时,该函数返回1;
- 当第一个字符串小于第二字符串时,该函数返回-1。
#include<stdio.h>
#include <string.h>
int my_strcmp(char* arr, char* brr) {
while (*arr == *brr) {
if (*arr == '\0') {
return 0;
}
arr++;
brr++;
}
if (*arr > *brr) {
return 1;
}
else {
return -1;
}
}
int main() {
char arr[] = "abc";
char brr[] = "a";
char crr[] = "ac";
char drr[] = "abc";
int flag1 = my_strcmp(arr, brr);//1
int flag2 = my_strcmp(arr, crr);//-1
int flag3 = my_strcmp(arr, drr);//0
printf("%d\n", flag1);
printf("%d\n", flag2);
printf("%d\n", flag3);
}