社区
C语言
帖子详情
结果为什么不是1111?
lwy123
2010-04-12 02:11:18
#include "stdafx.h"
#include "iostream"
char* test()
{
char a[]="1111";
return a;
}
int _tmain(int argc, _TCHAR* argv[])
{
char *p=NULL;
p=test();
printf("%s",p);
return 0;
}
...全文
146
12
打赏
收藏
结果为什么不是1111?
#include "stdafx.h" #include "iostream" char* test() { char a[]="1111"; return a; } int _tmain(int argc, _TCHAR* argv[]) { char *p=NULL; p=test(); printf("%s",p); return 0; }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zqlclj
2010-04-12
打赏
举报
回复
[Quote=引用 11 楼 ubuntulover 的回复:]
永远不要返回指向局部变量的指针
[/Quote]
+1
阿磊2013
2010-04-12
打赏
举报
回复
永远不要返回指向局部变量的指针
aozhi
2010-04-12
打赏
举报
回复
return后已经基址寄存器中保存的已经不再是这个堆栈段的段地址了。自然取不到这个段中的数据了。
hacker1125
2010-04-12
打赏
举报
回复
不能返回栈空间。
char* test()
{
char a[]="1111";//栈内容
return a;//a为局部变量,11111存在栈里面,这个函数结束,1111页就消失了。所谓获取到的是不确定的值
itxuls
2010-04-12
打赏
举报
回复
哎。。 学习中。。。
jogger007
2010-04-12
打赏
举报
回复
局部普通变量是放在栈里的,当你该函数执行完毕就会被系统回收。
所以返回地址指向不可预见的内容
OVER
cy330206
2010-04-12
打赏
举报
回复
楼主把数组声明在主函数里面就可以了,
因为函数开始的时候可以分配一定的内存,但是函数结束后,他里面声明的所有的变量都会被销毁
senr0816
2010-04-12
打赏
举报
回复
因为你返回的是数组a[]="1111"的首地址,而a[]的范围仅限于函数内,函数运行结束后数组所占内存即被释放
天亮后说晚安
2010-04-12
打赏
举报
回复
正解
[Quote=引用 2 楼 bitxinhai 的回复:]
char* test()
{
char a[]="1111";
return a;//a为局部变量,函数退出的时候,该变量就会失效,不能保证返回的数据是"1111"
}
[/Quote]
honemay
2010-04-12
打赏
举报
回复
因为a是在函数里分配的,是局部变量,你的函数返回的是a的地址
你p= test(),p指向的那块内存在test()函数销毁时也被释放了
所以你打印出来的是一些不定的东西
可以改成char* a = new char[10];
strcpy(a, "1111");
不过在p =test()后,要 delete p;
bitxinhai
2010-04-12
打赏
举报
回复
char* test()
{
char a[]="1111";
return a;//a为局部变量,函数退出的时候,该变量就会失效,不能保证返回的数据是"1111"
}
ArmStronger
2010-04-12
打赏
举报
回复
a被释放了,加个static就好了
Delpih 13.1控件之《AVP虚拟化系统》简要使用手册图片显示完整版.7z
Delpih 13.1控件之《AVP虚拟化系统》简要使用手册图片显示完整版.7z
java面试题集和笔试题汇总
代码转载自:https://pan.quark.cn/s/a4b39357ea24 关于Java的面试资源、面试题库以及笔试题的集合资料,关于Java的面试资源、面试题库以及笔试题的集合资料,关于Java的面试资源、面试题库以及笔试题的集合资料,涵盖了基础面试问题、Java Web面试问题、JAVA面试题库.txt以及分布式相关面试问题的汇编.pdf。期待这些资料能够对您提供有效的支持!!
豆包DeepSeek收录优化系统 GEO关键词排名工具 企业AI搜索流量获客
核心功能全包含: 覆盖主流平台:支持DeepSeek、豆包、文心一言、腾讯元宝等六大模型。 AI智能创作:内置文章在线AI写作功能,内容源源不断。 精准获客:支持高检索量关键词筛选,锁定精准流量。 全自动发布:支持文章自动发布,对接权威媒体平台。 品牌定制:支持自建知识库、图片素材库,打造专属品牌形象。 数据透明:提供各大模型关键词反馈报表,效果看得见。 适用人群: 适用于工厂、企业、商务服务、销售经理等各行各业。 操作简单,支持月卡/年卡,灵活使用,低成本维持优化效果。
多步骤规范.md.md
多步骤规范.md.md
C语言
70,038
社区成员
243,246
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章