CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C语言

[求助]一个小问题 请大家解释一下

楼主zhanxiang(JackieSky)2006-03-03 22:50:15 在 C/C++ / C语言 提问

#include   <stdio.h>  
   
  int   test();  
   
  void   main(void)  
  {  
  int   n   =   0;  
   
  n   =   test();  
   
  printf("%d\n",n);  
  }  
   
  int   test()  
  {  
  int   i   =   8;  
   
  return   i;  
  }  
   
  按理说,i是一个局部变量,出了自定义函数test后其内存空间应该被释放才对!  
  n也就会接收到一个随机值!  
   
  但这个程序最后为什么还是打印出8呢?(说明n接收到i的值)  
  请大家帮忙解释一下!!!  
  新手求解! 问题点数:10、回复次数:2Top

1 楼cenlmmx(学海无涯苦作舟)回复于 2006-03-03 23:00:26 得分 5

函数test是返回值,构造了个临时变量再赋给n,然后自己释放Top

2 楼GHme_6()回复于 2006-03-03 23:17:57 得分 5

n怎么会接收到一个随机值呢?  
   
  return   i;  
  已将   i   的值放到了系统堆栈中了  
  然后由   n   接受Top

相关问题

  • 请解释一下。
  • 小问题,请解释一下
  • 请解释一下端口?
  • 请帮助解释一下
  • 请高手解释一下
  • 请帮我解释一下!!!!!
  • 请帮我解释一下
  • 请解释一下Assign?
  • 请大家解释一下?
  • 一个小小的问题,请帮忙解释一下

关键词

  • 函数
  • 值
  • 解释一下
  • 请大家
  • 释放
  • test
  • 会接收到一个随机

得分解答快速导航

  • 帖主:zhanxiang
  • cenlmmx
  • GHme_6

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo