C语言strlen,strcat,strcpy,strcmp,strlwr,strupr(自写函数)

指针自写库函数(但肯定没有库函数高效)
解释都在注释里了,手机打字费劲

/*
* 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++;
	}
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值