C语言:实现Strcmp()函数和Memcpy()函数

C语言:实现Strcmp()函数和Memcpy()函数

我是一名在校大学生,初次写博客,希望各位大佬不喜勿喷,这个小程序,仅供参考,希望对大家有所帮助。

分析题意:

1.Strcmp()函数,当s1<s2时,返回为负数;当s1==s2时,返回值=0;当s1>s2时,返回正数。
2.Memcpy()函数,从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。

#include <stdio.h>

void Strcmp(char *str1,char *str2);
void Memcpy(char *str1,char *str2,int n);

int main()
{
	char str1[6]={'a','b','c','d','e'};
	char str2[6]={'a','e','c','d','a'};
	char str3[6];
	int count=3;
	Strcmp(str1,str2);
	Memcpy(str1,str2,count);
	return 0;
}
//当s1<s2时,返回为负数;当s1==s2时,返回值=0;当s1>s2时,返回正数。
void Strcmp(char *str1,char *str2)
{
	printf("---------Strcmp---------\n");
	int i;
	for(i=0;(str1[i]!='\0' || str2[i]!='\0');i++)
	{
		printf("str1[%d]-str2[%d]=%d\n",i,i,str1[i]-str2[i]);
	}
}
//从源src所指的内存地址的起始位置开始拷贝n个字节到目标dest所指的内存地址的起始位置中。
void Memcpy(char *str1,char *str2,int n)
{
	printf("---------Memcpy---------\n");
	int i;
	for(i=0;i<n;i++)
	{
		str2[i]=str1[i];
	}
	str2[i++]='\0';
	for(i=0;str2[i]!='\0';i++)
	{
		printf("str3[%d]=%c\n",i,str2[i]);
	}
}
/*
//----------样例输出----------
---------Strcmp---------
str1[0]-str2[0]=0
str1[1]-str2[1]=-3
str1[2]-str2[2]=0
str1[3]-str2[3]=0
str1[4]-str2[4]=4
---------Memcpy---------
str3[0]=a
str3[1]=b
str3[2]=c
*/

希望多多支持!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_39004632/article/details/84824813
今日推荐