代码:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int my_strcmp(const char *str1, const char *str2) {
while (*str1 && *str2 && *str1 == *str2) {
str1++;
str2++;
}
if (*str1 == *str2) {
return 0;
} else if (*str1 < *str2) {
return -1;
} else {
return 1;
}
}
int my_strlen(const char *str) {
int len = 0;
while (*str) {
len++;
str++;
}
return len;
}
char *my_strcat(char *str, const char *str1) {
char *temp = str;
while (*str)
{
str++;
}
while (*str1)
{
*str = *str1;
str++;
str1++;
}
*str = '\0';
return temp;
}
char *my_strcpy(char *str1, const char *str){
char *temp = str1;
while(*str)
{
*str1 = *str;
str1++;
str++;
}
*str1 = '\0';
printf("str1 = %s\n",temp);
return temp;
}
int main(int argc, const char *argv[])
{
char str[100];
char str1[100];
char str2[100];
printf("strcpy:\n");
printf("请输入一个字符串str = ");
scanf("%s", str);
my_strcpy(str1, str);
printf("strcmp:\n");
printf("请输入第一个字符串str = ");
scanf("%s", str);
printf("请输入第二个字符串str1 = ");
scanf("%s", str1);
my_strcat(str, str1);
printf("连接后的字符串为: %s\n", str);
printf("strlen:\n");
printf("请输入一个字符串: ");
scanf("%s", str);
int len=my_strlen(str);
printf("字符串的长度为: %d\n",len);
printf("strcmp:\n");
printf("请输入第一个字符串: ");
scanf("%s", str1);
printf("请输入第二个字符串: ");
scanf("%s", str2);
int result = my_strcmp(str1, str2);
if(result < 0)
{
printf("str1 < str2\n");
}else if(result > 0)
{
printf("str1 > str2\n");
}else
{
printf("str1 = str2\n");
}
return 0;
}
运行结果: