C++动态数组,一个数组给另一个数组赋值
创建一个可以自己定义的数组A1,比如我想要asdfghj或者qwertyu都行,再创建一个动态数组B1,然后截选A1中的一段字符放到B1里面,输出B1。B1的长度不能固定...
创建一个可以自己定义的数组A1,比如我想要asdfghj或者qwertyu都行,再创建一个动态数组B1,然后截选A1中的一段字符放到B1里面,输出B1。
B1的长度不能固定死了,要根据从A1中截选的字符长度来。再就是截取的字符串长度可以自己定义 展开
B1的长度不能固定死了,要根据从A1中截选的字符长度来。再就是截取的字符串长度可以自己定义 展开
1个回答
展开全部
#include<stdio.h>#include<stdlib.h>#define L 10void main(){char *s;int Get_str(char **s);printf("请输出字符串(任意长度):\n");Get_str(&s);printf("%s\n",s);}/**读取长度未知的任意字符串*以回车符作为结尾标识*每次申请长度为N(=10)的内存空间*溢出时再次申请。*/int Get_str(char **s){int n = 1;int i = 0;*s = (char *)malloc(sizeof(char)*L*n);if(*s == NULL){printf("ERROR On Memory Application.\n");getchar();exit(0);}while(scanf("%c",*s+i),*(*s+i)!='\n'){i++;if(i >= n*L){n++;*s = (char *)realloc(*s,sizeof(char)*L*n);if(*s == NULL){printf("ERROR On Memory Application.\n");getchar();exit(0);}}}*(*s+i) = '\0';return 0;}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询