| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 475 人关注过本帖
标题:局部变量注销的问题
取消只看楼主 加入收藏
飘青
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2012-7-8
结帖率:70.59%
收藏
已结贴  问题点数:10 回复次数:2 
局部变量注销的问题

#include"stdio.h"
void main()
{
int * a(int,int);
int *one,two=2,three=2;
one=a(two,three);
printf("%d\n",*one);
}
int * a(int x,int y)
{
int x1;
x1=x+y;
int *p;
p=&x1;
return(p);
}

p指向的是一个x1的地址,但是程序运行的时候还能准确的输出4。 在int * a(int x,int y)返回值的时候X1都已经注销了。为什么p指向的值还能正常输出。 运行了很多次都是一样。排除偶然。
搜索更多相关主题的帖子: return include 
2012-10-06 20:48
飘青
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2012-7-8
收藏
得分:0 
多谢您。

还想请教您一个问题,  我是一个想自学 C的新手,这段时间由于其他事件没有坚持每天看C了。很多东西又很陌生了。

我现在基础的C已经看完了,我想有更好的进展程度,但是我也不知道怎么更好的提高, 看那些很长的代码又看不懂。只能看懂一些比较简单的程序。想请教您。我下一个学习的重点应该是什么。
2012-10-06 21:03
飘青
Rank: 1
等 级:新手上路
帖 子:47
专家分:0
注 册:2012-7-8
收藏
得分:0 
就目前的想法是2和4及5
2012-10-06 21:13
快速回复:局部变量注销的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015080 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved