| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 298 人关注过本帖
标题:[求助]有关指针
取消只看楼主 加入收藏
tianxia_buaa
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-10-19
收藏
 问题点数:0 回复次数:2 
[求助]有关指针

查找数组中的元素,我想用指针来创建一个数组,并在其中查找指定元素,为什么每次编译能通过,执行时在输入第一个元素后就推出程序了?我想应该是指针用错了,我只用数组可以通过,可我不知道什么地方出错了。求教高手指点啊!!


#include<iostream.h>
void Input(int *p, int num);
void Check(int *p, int num);
void main()
{
int (*Array)[]=0 , num;
cout<<"输入要创建的数组元素的个数!"<<endl;
cin>>num;
Input(*Array,num);
Check(*Array,num);
}

void Input(int *p ,int num)
{
for(int i = 0; i<num ; i++)
{
cout<<"请输入第 "<<i+1<<" 个元素!";
cin>>(*(p+i));
}
}
void Check(int *p , int num)
{
int x;
cout<<"请输入要查找的元素!"<<endl;
cin>>x;
for(int i =0; i<num ;i++)
{
if(*(p+i)==x)
break;
}
if(i<num)
cout<<"你要查找的元素" <<x<<" 是数组中的第 "<<i+1<<" 个元素!"<<endl;
else
cout<<"没有你要找的元素!";

}

搜索更多相关主题的帖子: 指针 
2007-10-19 23:29
tianxia_buaa
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-10-19
收藏
得分:0 
我用 p=new int; 在Input中的 cin 语句之前申请新的空间,结果程序只是向前进行到check中输入要查找的元素值就退出了,是不是因为在Input中申请的空间在退出Input之后就释放了??那我该怎么修改啊,只能在主函数中完成输入数组的功能么??请教大家!谢谢!!!

2007-10-20 09:50
tianxia_buaa
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-10-19
收藏
得分:0 
我明白自己错哪了.
int (*Array)[]=0 , num;
cout<<"输入要创建的数组元素的个数!"<<endl;
cin>>num;
Input(*Array,num);
Check(*Array,num);
应该改为
int num;
cout<<"输入要创建的数组元素的个数!"<<endl;
cin>>num;
int *Array = new int[num];
Input(Array,num);
Check(Array,num);
之前没有给头节点的指针Array申请空间,函数参数的传递也不对.

谢谢楼上的各位!!!

2007-10-25 00:12
快速回复:[求助]有关指针
数据加载中...
 
   



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

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