标题:请教大家一个问题,在下实在不懂
只看楼主
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
 问题点数:0 回复次数:8 
请教大家一个问题,在下实在不懂

char *str=(char *)malloc(100);
char str1[]="hello world";
free(str);
if(str!=NULL)
{
strcpy(str,str1);
}
printf("%s\n",str);

程序最后会输出什么? 请写出答案,并说明理由!

搜索更多相关主题的帖子: hello world 
2006-04-14 19:19
shuiyouhan
Rank: 1
等 级:新手上路
帖 子:32
专家分:0
注 册:2006-1-12
得分:0 
建议你去看书,这是最基本的东西,书上应该有例题的。

2006-04-15 11:47
youxiaxyz
Rank: 1
等 级:新手上路
帖 子:85
专家分:0
注 册:2006-4-5
得分:0 

书上没有啊
还是解答一下吧

2006-04-15 12:14
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
得分:0 

你运行一下不就知道了吗


明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-04-15 12:50
gaga
Rank: 1
等 级:新手上路
威 望:2
帖 子:307
专家分:0
注 册:2006-4-5
得分:0 
不知道你与这个是干什么呢char *str=(char *)malloc(100);free(str);
你既然开辟了空间,又没有用到就释放了;这是干什么呢
我运行了一下你的程序结果是
hello world

明天的明天还有明天。 可是今天却只有一个。 public Copy from 无缘今生
2006-04-15 12:57
abingchem
Rank: 6Rank: 6
等 级:贵宾
威 望:24
帖 子:716
专家分:0
注 册:2004-12-30
得分:0 
what are you doing?

此人已消失
2006-04-15 13:09
仁者无敌
Rank: 1
等 级:新手上路
帖 子:199
专家分:0
注 册:2006-3-5
得分:0 
实话说了吧,这不是我的程序,我是在网上看到一个同学问的问题,所以拿来问大家的!

I am a programmer !
2006-04-15 14:57
油豆
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-29
得分:0 
这是一个关于C语言变量里内容的一个测试.STR所指向的空间被释放了,意味着那段空间可以被别的变量使用.但STR里仍然存有该空间的地址.所以使用STRCPY()函数仍然可以将字符串拷贝过去.

2006-04-16 01:59
queyapahaha
Rank: 1
等 级:新手上路
帖 子:27
专家分:0
注 册:2006-4-5
得分:0 
这、个程序是不是想说明当free(str)后str不是指向null!!!

我为程狂!!
2006-04-16 13:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-57524-1-1.html




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

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