搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 一个C语言问题
标题:
一个C语言问题
只看楼主
wolf201314
等 级:
新手上路
帖 子:8
专家分:0
注 册:2011-12-15
结帖率:
100%
楼主
问题点数:0 回复次数:3
一个C语言问题
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
请问运行 Test函数会有什么样的结果?
搜索更多相关主题的帖子:
void
hello
return
C语言
world
2012-02-25 15:15
回首依依
来 自:苏州
等 级:
黑侠
威 望:
1
帖 子:193
专家分:524
注 册:2011-12-3
第
2
楼
得分:0
是乱码,str 中存储着“hello world”的地址。
2012-02-25 15:48
yxiangyxiang
来 自:/\/\/\/\/
等 级:
论坛游侠
帖 子:130
专家分:186
注 册:2012-1-29
第
3
楼
得分:0
char *GetMemory(void)
{
char p[] = "hello world", *p1;
p1 = p;
puts( p1 );
return( p1 );
}
void main(void)
{
char *str;
str = GetMemory();
puts(str);
}
为什么p1是hello word而str不是?
2012-02-25 15:51
icysky
来 自:心灵世界
等 级:
职业侠客
威 望:
1
帖 子:172
专家分:399
注 册:2011-5-17
第
4
楼
得分:0
不要返回指向自动局部变量的指针
因为函数一返回 指向局部变量的指针都是无效的了
不管怎么走、总有一个终点...
2012-02-25 16:31
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-361617-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.027605 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved