2022/11/24 [指针] 对字符串中字符的存取

这篇博客介绍了如何使用C语言通过下标和指针方法实现字符串的复制。提供了两个程序实例,第一个程序利用下标遍历字符串并逐个复制,第二个程序则通过指针变量迭代完成复制。两个方法都成功地将源字符串复制到目标字符串,并打印输出了原始字符串和复制后的字符串。

对字符串中字符的存取,可以用下标方法,也可以用指针方法。


程序:将字符串a复制为字符串b,然后输出字符串b。

#include<stdio.h>
int main()
{
	char a[] = "Congratulation!", b[50];
	int i;
	for (i = 0; *(a + i) != '\0'; i++)
	{
		*(b + i) = *(a + i);
	}
	*(b + i) = '\0';
	printf("string a is %s\n", a);
	printf("string b is ");
	for (i = 0; b[i] != '\0'; i++)
	{
		printf("%c", b[i]);
	}
	return 0;
}

也可以用另一种方法——用指针变量访问字符串。通过改变指针变量的值使它指向字符串中的不同字符,
 

解题思路:定义两个指针变量pl 和 p2,分别指向字符数组a和 b。改变指针变量p1和 p2的值,使它们顺序指向数组中的各元素,进行对应元素的复制。

#include<stdio.h>
int main()
{
	char a[] = "hello", b[50], * p1, * p2;
	p1 = a;
	p2 = b;
	for (; *p1 != '\0'; p1++, p2++)
	{
		*p2 = *p1;
	}
	*p2 = '\0';
	printf("%s\n", a);
	printf("%s\n", b);
	return 0;
}


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值