69,369
社区成员
发帖
与我相关
我的任务
分享
int main()
{
char *str = NULL;
p = Get_Str();
puts(str);
return 0;
}
第一段代码出错了,main函数中有未定义的str,应改为str=Get_Str();
至于你说的问题,首先第一段代码是用一个指针去指定一个字符串,返回字符串的首地址值,子函数结束之后,指针被回收,字符串海存在于内存当中,当主函数put(str)时,自然能把字符打印出来。
另外第二段代码,显然子函数调用之后子函数的局部变量生命周期结束,自然无法打印出来。