在不调用函数库的前提下,封装strcpy
#include <stdio.h>
// 字符串拷贝
char *mystrcpy(char *dest, const char *src)
{
int i;
for ( i = 0; src[i] != '\0'; i++)
{
dest[i] = src[i];
}
dest[i] = '\0';
return dest;
}
int main(int argc, char const *argv[])
{
char dest[50]; //目标字符串
char src[50] = "hello"; //源字符串
mystrcpy(dest,src);
printf("拷贝后的结果为:%s\n",dest);
return 0;
}
在不调用函数库的前提下,封装strcmp
#include <stdio.h>
// 字符串比大小
int mystrcmp(const char *s1, const char *s2)
{
int i,num;
for ( i = 0; s1[i] != '\0'; i++)
{
num=s1[i]-s2[i];
if (num != 0)
break;
if (s1[i]=='\0' && s2[i]=='\0')
break;
}
return num;
}
int main(int argc, char const *argv[])
{
char s1[50]; //目标字符串
char s2[50]; //源字符串
printf("请输入两个字符串进行比较:\n");
scanf("%s %s",s1,s2);
int jg = mystrcmp(s1,s2);
printf("比较后的结果为:%d\n",jg);
return 0;
}
封装strcat
#include <stdio.h>
#include <string.h>
// 字符串拼接
char *mystrcat(char *dest, const char *src)
{
int i = 0; //目标字符串的i
int j = 0; //源字符串的j
for (i = strlen(dest); src[j] != '\0'; i++)
{
dest[i] = src[j];
j++;
}
return dest;
}
int main(int argc, char const *argv[])
{
char dest[50] = "hello"; // 目标字符串
char src[50] = " world"; // 源字符串
mystrcat(dest, src);
printf("拼接后的结果为:%s\n", dest);
return 0;
}
封装strlen
#include <stdio.h>
//求字符串长度
int mystrlen(const char *s)
{
int i;
int count =0;
for ( i = 0; s[i] != '\0'; i++)
{
count++;
}
return count;
}
int main(int argc, char const *argv[])
{
char s[50];
printf("请输入一个字符串:\n");
scanf("%s",s);
int count = mystrlen(s);
printf("字符串长度为:%d\n",count);
return 0;
}