c++函数返回值是数组问题

比如现在要求定义一个函数fun(),在主函数调用时直接用fun();就能输出在fun函数里定义好的一个字符串,那要fun函数的返回值怎么返回才行,为什么我返回指针但打印出来却不是正确结果?求大神解释

楼主要不贴一下代码?
要注意的地方是:不要返回一个局部变量的地址

 一般来说,出于内存管理的需要,让主程序来分配内存,传指针。比如scanf函数,就是通过这个方式输入值。
比如
void getstr(char * buffer)
{
char str[] = "hello world";
strcpy(buffer, str);
}
int main()
{
char a[100];
getstr(a);
printf("%s", a);
}

返回char * 或者String

你可能返回的是局部变量的指针,当局部执行结束后该变量就会销毁了,这样结果就不正确了

不要返回一个局部变量的地址

你可以直接在函数里面输出,返回值为void