设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 180|回复: 9
打印 上一主题 下一主题

[求助]指针遍历数组的问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-3 01:36:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include <iostream>
#include <stdlib.h>
#include"stdio.h"
using namespace std;
int main( int argc, int *argv[])
{
int a[5]={1,2,2,3};
int *p=a;
int *q=a+5;
while (p!=q)
cout<<(*q)++<<endl;
system("PAUSE");
return 0;
}
输出怎么全是地址?
2#
发表于 2009-11-3 01:36:28 | 只看该作者
#include <iostream.h>
void main( )
{
int a[5]={1,2,2,3};
// int *p=a;
// int *q=a+5;
for(int*p=a,int *q=a+5;p<q;p++)
{
cout<<*p<<endl;
}
}
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-3 01:36:29 | 只看该作者
cout<<(*q)++<<endl;
不要输出p吗
怎么输出q
cout<<*p++<<endl;
你那样就是个死循环啊
而且不是地址
是非法区间内的随机数

#include <iostream>
#include <stdlib.h>
#include"stdio.h"
using namespace std;
int main( int argc, int *argv[])
{
int a[5]={1,2,2,3};
int *p=a;
int *q=a+5;
while (p!=q)
cout<<(*p)++<<endl;//cout<<*p++<<endl;这里错了,你没有把他地址改变而让他一直加下去,而且是个死循环
system("PAUSE");
return 0;
}
回复 支持 反对

使用道具 举报

4#
发表于 2009-11-3 01:36:31 | 只看该作者
又学习
谢谢了~
回复 支持 反对

使用道具 举报

5#
发表于 2009-11-3 01:36:32 | 只看该作者
真是晕倒呢`~看来学习是马虎不得的呢~~
回复 支持 反对

使用道具 举报

6#
发表于 2009-11-3 01:36:34 | 只看该作者
就算是这样都有问题,因为你的数组只有四个元素,你遍历的时候却写了 *q=a+5,最后肯定会出负的数字
回复 支持 反对

使用道具 举报

7#
发表于 2009-11-3 01:36:36 | 只看该作者
最后一个不写默认是0
斑竹真是大意呀
回复 支持 反对

使用道具 举报

8#
发表于 2009-11-3 01:36:39 | 只看该作者
呵呵,只是把括号去掉就可以了,(*p)++改成*p++;
回复 支持 反对

使用道具 举报

9#
发表于 2009-11-3 01:36:42 | 只看该作者
呵呵^多余的刮号 加不加都是一样`~
回复 支持 反对

使用道具 举报

10#
发表于 2009-11-3 01:36:44 | 只看该作者
不对了
cout<<(*p)++<<endl;//cout<<*p++<<endl;这里错了,你没有把他地址改变而让他一直加下去,而且是个死循环(p!=q )

你没试过吗??
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-18 16:32 , Processed in 0.066441 second(s), 10 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

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