1.23C高级作业

本文详细展示了如何使用指针在C语言中实现strcpy、strlen、strcmp和strcat函数,通过指针操作内存来完成字符串复制、长度计算、比较和连接。
摘要由CSDN通过智能技术生成

用指针改写 strcpy , strlen, strcmp, strcat

#include <stdio.h>

int main(int argc, const char *argv[])
{
/*
// strcpy 指针改写
	int i=0;
	char *pi=&i;
	char str1[32],str2[32];
	printf("请输入str1:");
	scanf("请输入str1:");
	char *pstr1=str1,*pstr2=str2;
	gets(pstr1);
	for(*pi=0; *(pstr1+*pi) != '\0'; *pi+=1)
	{
		pstr2[*pi] = pstr1[*pi];
	}
	pstr2[*pi] = '\0';
	printf("str2:");
	for(*pi=0; *(pstr2+*pi) != '\0'; *pi+=1)
	{
		printf("%c",pstr1[*pi]);
	}
	putchar(10);
*/

/*
// strlen 指针改写
	int i;
	char *pi=&i;
	char str3[32];
	char *pstr3=str3;
	printf("请输入str3:");
	gets(pstr3);
	for(*pi=0; pstr3[*pi] != '\0'; *pi+=1);
	printf("字符串长度为:%d\n",*pi);
*/


// strcmp 指针改写
	int i=0,sign=0;
//	int *psign=&sign;
	char str4[32],str5[32];
	char *pstr4=str4, *pstr5=str5;
	printf("请输入str4:");
	gets(pstr4);
	printf("请输入str5:");
	gets(pstr5);
for(i=0; (pstr4[i] != '\0' || pstr5[i] != '\0') && sign == 0; i++)
	{
		sign = pstr4[i] - pstr5[i];
	}
	printf("%d\n",sign);


/*
// strcat 指针改写
	int i,j;
	int *pi=&i, *pj=&j;
	char str6[32],str7[32];
	char *pstr6=str6,*pstr7=str7;
	printf("请输入str6:");
	gets(str6);
	printf("请输入str7:");
	gets(str7);
	for(*pi=0; pstr6[*pi] != '\0'; *pi+=1);
	for(*pi,*pj=0; pstr7[*pj] != '\0'; *pj+=1,*pi+=1)
	{
		pstr6[*pi] = pstr7[*pj];
	}
	pstr6[*pi] = '\0';
	for(*pi=0; pstr6[*pi] != '\0'; *pi+=1)
	{
		printf("%c",pstr6[*pi]);
	}
	putchar(10);
*/

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值