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;
}