20230713

一:定义字符指针,分别指向堆区空间,计算字符串的长度
       要求:
      1.定义函数实现堆区空间申请
      2.在主函数中实现输入字符串
      3.定义函数实现字符串长度  size_t  my_strlen(const char *s)
      4.定义函数释放堆区空间

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char *free_s(char *p);
char *Shengq();
size_t  *Cdu(char *p1);

int main(int argc, const char *argv[])
{
	char *ps = Shengq();

	printf("请输入字符串:\n");
	scanf("%s",ps);


	int leng = 0;
	leng = Cdu(ps);
	printf("字符串长度为:%d\n",leng);


	ps = free_s(ps);


	return 0;
}


size_t *Cdu(char *p1)
{
	int len=0;
	for(int i=0;*(p1+i)!='\0';i++)
	{
		len = len + 1;
	}
	return len;
}

char *Shengq()
{
	int *p2 = (int *)malloc(sizeof(int)*100);
	if(p2 == NULL)
	{
		printf("空间申请失败!\n");
		exit(1);
	}
	else
	{
		printf("空间申请成功!\n");
	}
	return p2;
}



char *free_s(char *p)
{
	if(p == NULL)
	{
		return NULL;
		printf("p==NULL,无需free释放。");
	}
	free(p);
	p = NULL;
	printf("释放完毕!");
	return p;

}

 

2.Minxd 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值