6-25 D字符串的创建函数 (5分)

6-25 D字符串的创建函数 (5分)
 

D字符串是动态分配内存的字符串,它也采用char数组来保存字符串中的字符,但是这个数组是在堆中动态分配得到的。

本题要求编写D字符串的创建函数。

函数接口定义:

char *dstr_create(const char *s);
 

dstr_create用输入的字符串s的内容创建一个新的字符串。

裁判测试程序样例:

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

//	该函数由系统提供
char *dstr_readword();

char *dstr_create(const char *s);

int main()
{
	char *s = dstr_create("hello");
	printf("%lu-%s\n", strlen(s), s);
	free(s);
	char *t = dstr_readword();
	s = dstr_create(t);
	free(t);
	printf("%lu-%s\n", strlen(s), s);
	free(s);
}

/* 请在这里填写答案 */
 

输入样例:

123A
 

输出样例:

5-hello
4-123A



char *dstr_create(const char *s)
{
 int str;
 str=strlen(s);
 char *p=malloc(str*sizeof(char)+1);
    strcpy(p,s);
    return p;
}

posted @ 2020-10-19 20:35  罪梦者  阅读(975)  评论(0)    收藏  举报