指针自写库函数(但肯定没有库函数高效)
解释都在注释里了,手机打字费劲
/*
* strlen1()用来测量一个字符串的有效长度
* strcat1()将第二个字符串拼接到第一个字符串的后面
* strcpy()将后一个字符串复制到前一个字符串
* strcmp1()字符串比较函数,
根据返回值判断哪个大小<1 == 2->0,1>2->1,1<2->-1>
1.”A”<“B” 2.”A”<“AB” 3.”Apple”<“Banana”
4.”A”<“a” 5.”compare”<“computer”
* strlwr1()将字符串内大写字母全部转化为小写
* strupr1()将字符串内小写字母全部转化为大写
*/
#include <stdio.h>
int strlen1(char* pr);
void strcat1(char* pr, char* qw);
int strcmp1(char* pr, char* qw);
void strlwr1(char* pr);
void strupr1(char* pr);
int main(void)
{
char word1[100] = "LikeC";//足够位置保证可以让word2夫进来
char word2[20] = "LikeJAVA";
return 0;
}
int strlen1(char * pr)//pr保存word1首地址
{
int i = 0;
while(* (pr+i) != '\0')
{
i++;
}
return i;
}
void strcat1(char * pr, char * qw)//传两个字符数组首地址
{
int i = 0,q = 0;
while (*(pr + i) != '\0')
{
i++;
}
while (*(qw + q) != '\0')
{
*(pr + i) = *(qw + q);
i++; q++;
}
}
int strcmp1(char * pr, char * qw)
{
int i = 0;
while ((*(pr + i) == *(qw + i))&& (*(pr + i) != '\0')&& (*(qw + i) != '\0'))
{
i++;
}
if (*(pr + i) > *(qw + i))
return 1;
if (*(pr + i) < *(qw + i))
return -1;
else return 0;
}
void strlwr1(char* pr)
{
int i = 0;
while (*(pr + i) != '\0')
{
if (*(pr + i) >= 'A' && *(pr + i) <= 'Z')
*(pr + i) = *(pr + i)+32;
i++;
}
}
void strupr1(char* pr)
{
int i = 0;
while (*(pr + i) != '\0')
{
if (*(pr + i) >= 'a' && *(pr + i) <= 'z')
*(pr + i) = *(pr + i) - 32;
i++;
}
}