| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 890 人关注过本帖
标题:两次输出指针为何不同呢?
取消只看楼主 加入收藏
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
 问题点数:0 回复次数:2 
两次输出指针为何不同呢?

#include <iostream.h>

int *getint(char *str)//指针函数
{
int value=100;
cout<<str<<endl;
return &value;//warning :将局部变量返回是不妥的!

}

void somefn(char *str)
{
int a=40;
cout<<str<<endl;
}
void main()
{
int *pr=getint("input a value:"); //赋值取自返回的指针值。
cout<<*pr<<endl; //第一次输出*pr
somefn("it's uncertain:"); //这个函数调用后----------
cout<<*pr<<endl; //第二次输出*pr
//为何两次输出 的*pr不同呢?
}

搜索更多相关主题的帖子: 指针 输出 
2006-08-10 16:51
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
得分:0 

请问为何再程序最后要加一个加上"delete pr" ???
如果没有delete pr;也可以通过并且输出相同,
那么加上"delete pr"是否画蛇添足了呢????

[此贴子已经被作者于2006-8-11 11:23:14编辑过]

2006-08-11 11:17
lixang
Rank: 1
等 级:新手上路
帖 子:231
专家分:0
注 册:2006-7-15
收藏
得分:0 

两次输出指针为何不同呢?#include <iostream.h>

int *getint(char *str)//指针函数
{
int value=100;
cout<<str<<endl;
return &value;//warning :将局部变量返回是不妥的!

}

void somefn(char *STR) //我把原来的str该为STR后以避免它与int *getint(char *str)函数中str同名
//但还是不行两次输出*pr 不同?????
{
int a=40;
cout<<STR<<endl;
}
void main()
{
int *pr=getint("input a value:"); //赋值取自返回的指针值。
cout<<*pr<<endl; //第一次输出*pr
somefn("it's uncertain:"); //这个函数调用后----------
cout<<*pr<<endl; //第二次输出*pr
//为何两次输出 的*pr不同呢?
}

2006-08-11 21:58
快速回复:两次输出指针为何不同呢?
数据加载中...
 
   



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

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