设为首页收藏本站

编程十万个为什么,属于程序员的编程论坛

 找回密码
 5秒快速注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 11260|回复: 32

[C/C++每日一练] 一个malloc和free的题目

[复制链接]
发表于 2012-12-3 17:40:15 | 显示全部楼层 |阅读模式
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #include <string.h>

  4. int main ()
  5. {
  6.         char * s = (char *)malloc(100);
  7.         s = "Hello world!";

  8.         free(s);

  9.         if(s == NULL)
  10.                 printf("yes\n");
  11.         else
  12.                 printf("no\n");

  13.         return 0;
  14. }
复制代码
问,会输出什么,为什么?
游客,如果您要查看本帖隐藏内容请回复
发表于 2012-12-4 15:09:28 | 显示全部楼层
yes。free后释放~
发表于 2012-12-4 15:11:38 | 显示全部楼层
嗯,然后s应该是野指针。。。。
发表于 2012-12-9 03:08:10 | 显示全部楼层
我觉得四楼是对的
发表于 2012-12-9 03:14:29 | 显示全部楼层
我觉得4楼是对的啊
发表于 2013-1-2 19:13:45 | 显示全部楼层
NO一个~~
发表于 2013-1-7 17:42:21 | 显示全部楼层
yes,s被free掉了
发表于 2013-1-8 17:26:25 | 显示全部楼层
nononono
发表于 2013-6-16 20:54:05 | 显示全部楼层
新手刚来,一起讨论学习
发表于 2013-6-27 09:47:36 | 显示全部楼层
程序会出错,s被修改成指向"Hello world!"这个字符串了
您需要登录后才可以回帖 登录 | 5秒快速注册

本版积分规则

关闭

BcWhy推荐上一条 /1 下一条

QQ|关于我们|最新帖子|小黑屋|手机版|编程十万个为什么 ( 粤ICP备16108587号-2  

GMT+8, 2017-4-29 11:28 , Processed in 0.228451 second(s), 25 queries , File On.

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表