免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 2811 | 回复: 15
打印 上一主题 下一主题

指针返回前是非NULL,return之后就成NULL了 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-07-26 13:37 |只看该作者 |倒序浏览
代码如:
  1. void f(PTRType ptr)
  2. {
  3.       //...对ptr进行一些操作
  4.     fprintf(stderr, "ptr is %s", (ptr == NULL) ? "NULL" : "not NULL");
  5.       return ;
  6. }

  7. int main()
  8. {
  9.       PTRType ptr = NULL;
  10.       ptr = MakeDoc("Hello");
  11.       fprintf(stderr, "ptr is %s", (ptr == NULL) ? "NULL" : "not NULL");     
  12.       f(ptr);
  13.       fprintf(stderr, "ptr is %s", (ptr == NULL) ? "NULL" : "not NULL");
  14. }
复制代码

然后出现:
is not NULL
is not NULL
is NULL

大概意思就是这样,不知道有没有人也碰到过这样的情况?

论坛徽章:
0
2 [报告]
发表于 2006-07-26 13:56 |只看该作者
一步一步来跟吧

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2006-07-26 14:32 |只看该作者
溢出?

论坛徽章:
0
4 [报告]
发表于 2006-07-26 14:33 |只看该作者
PTRType是什么,

把“一些操作”的代码贴出来

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
5 [报告]
发表于 2006-07-26 14:35 |只看该作者
一步一步注释,原来真的是溢出了。

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2006-07-26 14:50 |只看该作者
原帖由 THEBEST 于 2006-7-26 14:35 发表
一步一步注释,原来真的是溢出了。

呵呵,这种情况 99.99% 是溢出。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-07-26 14:52 |只看该作者
原帖由 flw 于 2006-7-26 14:50 发表

呵呵,这种情况 99.99% 是溢出。

还有0.01%的情况是什么?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2006-07-26 14:57 |只看该作者
原帖由 THEBEST 于 2006-7-26 14:52 发表

还有0.01%的情况是什么?

还有 0.01% 的情况是给我自己留的后路。俗话说,话不能说得太死嘛。呵呵。

论坛徽章:
0
9 [报告]
发表于 2006-07-26 19:00 |只看该作者
溢出是什么意思。

论坛徽章:
0
10 [报告]
发表于 2006-07-26 19:03 |只看该作者
原帖由 flw2 于 2006-7-26 19:00 发表
溢出是什么意思。


吃过晚饭就来嘲笑俺们加班的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP