专题1:C语言拷贝字符串函数的推演

1.入门等级写法

int main()
{
	char buf1[20] = "you kn0w I love you";
	char buf2[20];
	int i;
	for (i=0;*(buf1+i)!='\0';i++)
	{
		*(buf2 + i) = *(buf1 + i);
	}
	*(buf2 + i) = '\0';
	printf("buf1=%s\n", buf1);
	printf("buf2=%s\n", buf2);
    return 0;
}

2.字符串做函数参数进行函数调用

void copy_Str(char *from,char *to)
{
	for (;*from!='\0';from++,to++)
	{
		*to = *from;
	}
	*to = '\0';
	return;
}
int main()
{
	char buf1[20] = "you know I love you";
	char buf2[20];
	copy_Str(buf1, buf2);
	printf("buf1=%s\n", buf1);
	printf("buf2=%s\n", buf2);
    return 0;
}

2.1 字符串拷贝函数的改进1

void copy_Str1(char* from, char* to)
{
	while ((*to=*from)!='\0')
	{
		from++;
		to++;
	}
	return;
}

2.2 字符串拷贝函数的改进2

void copy_Str2(char* from, char* to)
{
	while ((*to++ = *from++) != '\0')
    {
        ;
    }
	return;
}

2.3字符串拷贝函数的改进3

void copy_Str3(char* from, char* to)
{
	while ((*to++ = *from++)){}
	return;
}

2.4  字符串拷贝函数的改进4

void copy_Str4(char* from, char* to)
{
	char* tempFrom = from;
	char* tempTo = to;
	while ((*tempTo++ = *tempFrom++));
	return;
}

注:一般不要随便改变形参指针的指向 ,定义两个临时的指针变量接收形参的地址

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值