| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 881 人关注过本帖
标题:奇怪不知道为什么?路过的能不能找出为什么
只看楼主 加入收藏
xiaot1729
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-11-18
收藏
 问题点数:0 回复次数:8 
奇怪不知道为什么?路过的能不能找出为什么
我用了delete p;为什么以下程序运行不会出现异常?我不是已经delete p了,为什么还可以运行?
#include<iostream.h>
#include<stdio.h>
void main(){
char *p,*q;
printf("p=%d\n",p);
printf("q=%d\n",q);
p=new char;
*p='0';
q=p;
printf("p=%d\n",p);
printf("q=%d\n",q);
cout<<"*p="<<*p<<endl;
cout<<"*q="<<*q<<endl;
delete q;
printf("p=%d\n",p);
printf("q=%d\n",q);
cout<<"*p="<<*p<<endl;
cout<<"*q="<<*q<<endl;
}
2007-11-18 13:50
xiaot1729
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-11-18
收藏
得分:0 
怎么没人回复??
2007-11-18 14:09
thxyao
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-11-18
收藏
得分:0 
路过
2007-11-18 18:27
lilan
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2007-11-18
收藏
得分:0 
呀,看都看不明白
我的matilab作业都交不上呢 
帮不了你
顶一下好了
2007-11-18 18:29
orliubc
Rank: 1
等 级:新手上路
帖 子:73
专家分:0
注 册:2007-11-18
收藏
得分:0 
回复:(xiaot1729)奇怪不知道为什么?路过的能不能找...
路过,风景

low water low live
2007-11-18 19:21
kaozheng
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2007-11-6
收藏
得分:0 
我觉得删除p不是用delect,它是个外部定义的变量,其实你应该把printf("p=%d\n",p);
printf("q=%d\n",q);
p=new char;
*p='0';
q=p;
printf("p=%d\n",p);
printf("q=%d\n",q);
cout<<"*p="<<*p<<endl;
cout<<"*q="<<*q<<endl;
定义为内部的,然后就不出现P的值了,
我也是新手,不知道是不是正确的。
2007-11-20 13:57
lxh961296
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-8-16
收藏
得分:0 
4年没碰过C 了,都不认识了
2007-11-20 15:30
sunwj01
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2007-3-21
收藏
得分:0 
我也只能路过了,我看不出什么。
2007-11-20 16:33
nuciewth
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:我爱龙龙
等 级:贵宾
威 望:104
帖 子:9786
专家分:208
注 册:2006-5-23
收藏
得分:0 
空间是释放了,但地址还在.

倚天照海花无数,流水高山心自知。
2007-11-20 16:38
快速回复:奇怪不知道为什么?路过的能不能找出为什么
数据加载中...
 
   



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

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