栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言练习6---字符串函数实现

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言练习6---字符串函数实现

1.strlen

法一:常规法

#include 
#include 
#include 
#define N 100

int my_strlen(const char*str)
{
	assert(str != NULL);
	int count = 0;
	while (*str != '')
	{
		str++;
		count++;
	}
	return count;
}
int main()
{
	char str[N] = "LoveHoneyYou";
	int len=my_strlen(str);
	printf("%dn", len);
	system("pause");
	return 0;
}

法二: 指针相减

#include 
#include 
#include 
#define N 100

int my_strlen(const char*str)
{
	assert(str != NULL);
	char *cp = str;
	while (*cp != '')
	{
		cp++;
	}
	return (int)(cp-str);
}
int main()
{
	char str[N] = "LoveHoneyYou";
	int len=my_strlen(str);
	printf("%dn", len);
	system("pause");
	return 0;
}

2.strcpy 

#include 
#include 
#include 
#define N 100

void my_strcpy(char *dest, char *src)
{
	while (*src != '')
	{
		*dest++ = *src++;
	}
	*dest = *src;
}

int main()
{
	char stra[N] = "LoveHoneyYou";
	char strb[N] = "Love dearest you";
	my_strcpy(stra, strb);
	printf(stra);
	printf("n");
	system("pause");
	return 0;
}

3.strcat

#include 
#include 
#include 
#define N 100

void my_strcat(char *dest, char *src)
{
	char*cp = dest;
	while (*cp!= '')
	{
		cp++;
	}
	while (*src!='')
	{
		*cp++ = *src++;
	}
	*cp = *src;
}

int main()
{
	char stra[N] = "Love Honey You ";
	char strb[N] = "My dear friend";
	my_strcat(stra, strb);
	printf(stra);
	printf("n");
	system("pause");
	return 0;
}

 

4.strcmp

#include 
#include 
#define N 100
int my_strcmp(char *dest, char *src)
{
	while (*dest != '' || *src != '')
	{
		if (*dest == *src)
		{
			dest++;
			src++;
		}
		else if (*dest < *src)
		{
			return -1;
		}
		else
		{
			return 1;
		}
	}
	return 0;
}
int main()
{
	char stra[N] = "I Love You ";
	char strb[N] = "You Love Me ";
	int ret = my_strcmp(stra, strb);
	printf("ret=%dn", ret);
	system("pause");
	return 0;
}

 

5.strchr //字符的首次出现

#include 
#include 
#define N 100
char* my_strchr(char *str, char ch)
{
	while (*str != '')
	{
		if (*str == ch)
		{
			break;
		}
		str++;
	}
	return str;
}
int main()
{
	char stra[N] = "I Love You ";
	char*ch = my_strchr(stra, 'Y');
	printf("%c n", *ch);
	system("pause");
	return 0;
}

 

 6.strchr  //字符最后一次出现

#include 
#include 
#define N 100
char* my_strrchr(char *str, char ch)
{
	char*cp = str;
	while (*cp != '')
	{
		cp++;
	}
	cp = cp - 1;
	while (cp != str - 1)
	{
		if (*cp == ch)
		{
			return cp;
		}
		cp--;
	}
	return NULL;
}
int main()
{
	char stra[N] = "I Love You ";
	char*ch = my_strrchr(stra, '0');
	system("pause");
	return 0;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/443828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号