C++ 无法使用函数c+;返回字符数组+;

C++ 无法使用函数c+;返回字符数组+;,c++,C++,它现在工作正常,但问题是指针在字符前后返回奇怪的符号,例如size | | start>length){ 返回“null”; } 否则如果(开始+长度>大小){ 返回“null”; } 否则{ 对于(int i=开始;i

它现在工作正常,但问题是指针在字符前后返回奇怪的符号,例如size | | start>length){ 返回“null”; } 否则如果(开始+长度>大小){ 返回“null”; } 否则{ 对于(int i=开始;i<长度;i++){ sub[i]=ch[i]; } 返回(sub); } } int main(){ 字符数据[]={'a','b','c'}; int start=1; 整数长度=2; int arraysize=sizeof(数据)/sizeof(数据[0]); char*res=checkArray(数据、开始、长度、数组大小);
不能使用动态数组初始化
sub

char*  sub = new char[length];

当您执行
char sub[]=new char[length]
时,编译器不会对您大喊大叫吗?另外,请记住,C样式字符串实际上被称为以null结尾的字节字符串。我在您的代码中没有看到任何终止符。“null”或null。我们需要知道代码试图实现什么,否则
char*data=“abc”;std::cout@Sniper不是吗?谢谢,它可以工作,但如果开始为0,长度为1,它应该显示a,但问题是在a之后,它会显示一些符号,如<&其他?
char*  sub = new char[length];