6-1 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
代码
```c
char *dstr_create(const char *s){
int str;
str=strlen(s);
char *p=(char *)malloc(str*sizeof(char)+1);
strcpy(p,s);
return p;
}