| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 906 人关注过本帖
标题:请解释原因!
取消只看楼主 加入收藏
mashrb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:29
注 册:2010-6-30
结帖率:76.92%
收藏
已结贴  问题点数:10 回复次数:5 
请解释原因!
之前看过说,不要返回指向局部变量的指针,但是下面的程序却可以正确运行,请解释原因。谢!

#include "stdio.h"
int *iint();
int *iint()
{  
  int a=50;
  return &a;
}
int main()
{
   int *ipa=iint();
   printf("num=%d\n\n",*ipa);
   system("pause");
}




















..
搜索更多相关主题的帖子: 解释 
2010-07-17 20:55
mashrb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:29
注 册:2010-6-30
收藏
得分:0 
[local]1[/local]

这是我从书上看到的一个例题,是不是也返回了一个局部变量的指针呀,是不是有问题??

等待高手的解释................
2010-07-17 21:20
mashrb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:29
注 册:2010-6-30
收藏
得分:0 
上传不了图片

[ 本帖最后由 mashrb 于 2010-7-17 21:24 编辑 ]
2010-07-17 21:22
mashrb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:29
注 册:2010-6-30
收藏
得分:0 
int a=50;  这里a的值是多少就输出是多少,改变a的值,输出也跟着改变。
2010-07-17 21:26
mashrb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:29
注 册:2010-6-30
收藏
得分:0 
觉得C语言有很多东西好莫名其妙。
行就是行,不行就是不行,搞得一下子行,一下子不行,一些刚入门的究竟是相信它行还是相信它不行都不知道。
2010-07-17 21:28
mashrb
Rank: 2
等 级:论坛游民
帖 子:47
专家分:29
注 册:2010-6-30
收藏
得分:0 
请do8do8do8帮我分析一下,下面的返回的是不是局部变量的指针?有劳!

#include "stdio.h"
char *iint(char *);
char *iint(char *k)
{  

  char *pa=malloc(sizeof(k));
  strcat(pa,k);
  return pa;

}
int main()
{  

   char *n="abc";
   char *ipa=iint(n);
   printf("num=%s\n\n",ipa);
   printf("num=%s\n\n",ipa);
   system("pause");
}




2010-07-17 22:35
快速回复:请解释原因!
数据加载中...
 
   



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

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