C语言 练习2-自实现strlen、strcpy、strcmp、strcat

#include <stdio.h>
#include <stdlib.h>
size_t mystrlen(char c[])
{
	int i=0;
	while(c[i]!=0)
	{
		i++;
	}
	return i;
}

void mystrcpy(char a[],char b[])
{
	int i=0;
	while(b[i]!=0)
	{
		a[i]=b[i];
		i++;
	}
	a[i]='\0';
}

int mystrcmp(char a[],char b[])
{
	int i=0;
	while(!(a[i]-b[i])&&a[i]&&b[i])
	{
		i++;	
	}
	if(a[i]-b[i]<0)
	{
		return -1;
	}else if(a[i]-b[i]>0){
		return 1;
	}else{
		return 0;
	}
}

void mystrcat(char a[],char b[])
{
	int i=0,al;
	al=mystrlen(a);
	while(b[i])
	{
		a[al]=b[i];
		i++;
		al++;
	}
	a[al]='\0';
}

int main()
{
	char c[20];
	char d[20];
	while(gets(c))// 会把\n翻译成\0
	{
		printf("复制前c=");puts(c);
		strcpy(d,"world");
		mystrcat(c,d);
		printf("d插入后的c=");puts(c);//puts会自动换行
		printf("d=");puts(d);
		printf("c str_len=%d\n",mystrlen(c));
		printf("c>d? str_cmp=%d\n",mystrcmp(c,d));
	}
	system("pause");
}
发布了35 篇原创文章 · 获赞 2 · 访问量 927

猜你喜欢

转载自blog.csdn.net/qq_45735810/article/details/102907279