找回密码
 注册
搜索
热搜: 回贴
  • 前程无忧官网首页 有什么好的平台可以
  • 最新的销售平台 互联网营销的平台有哪
  • 制作网页的基本流程 网页制作和网页设
  • 【帝国CMS】输出带序号的列表(数字排
  • 网站建设公司 三一,中联,极东泵车的
  • 织梦 建站 织梦网站模版后台怎么更改
  • 云服务官网 哪些网站有免费的简历模板
  • 如何建网站要什么条件 建网站要用什么
  • 吉林市移动公司电话 吉林省退休人员网
  • 设计类毕业论文 网站设计与实现毕业论
查看: 189|回复: 9

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

[复制链接]
发表于 2009-11-3 01:36:27 | 显示全部楼层 |阅读模式 IP:江苏扬州
#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;
}
输出怎么全是地址?
发表于 2009-11-3 01:36:28 | 显示全部楼层 IP:江苏扬州
#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;
}
}
回复

使用道具 举报

发表于 2009-11-3 01:36:29 | 显示全部楼层 IP:江苏扬州
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;
}
回复

使用道具 举报

发表于 2009-11-3 01:36:31 | 显示全部楼层 IP:江苏扬州
又学习
谢谢了~
回复

使用道具 举报

发表于 2009-11-3 01:36:32 | 显示全部楼层 IP:江苏扬州
真是晕倒呢`~看来学习是马虎不得的呢~~
回复

使用道具 举报

发表于 2009-11-3 01:36:34 | 显示全部楼层 IP:江苏扬州
就算是这样都有问题,因为你的数组只有四个元素,你遍历的时候却写了 *q=a+5,最后肯定会出负的数字
回复

使用道具 举报

发表于 2009-11-3 01:36:36 | 显示全部楼层 IP:江苏扬州
最后一个不写默认是0
斑竹真是大意呀
回复

使用道具 举报

发表于 2009-11-3 01:36:39 | 显示全部楼层 IP:江苏扬州
呵呵,只是把括号去掉就可以了,(*p)++改成*p++;
回复

使用道具 举报

发表于 2009-11-3 01:36:42 | 显示全部楼层 IP:江苏扬州
呵呵^多余的刮号 加不加都是一样`~
回复

使用道具 举报

发表于 2009-11-3 01:36:44 | 显示全部楼层 IP:江苏扬州
不对了
cout<<(*p)++<<endl;//cout<<*p++<<endl;这里错了,你没有把他地址改变而让他一直加下去,而且是个死循环(p!=q )

你没试过吗??
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|最新主题|手机版|微赢网络技术论坛 ( 苏ICP备08020429号 )

GMT+8, 2024-9-30 07:19 , Processed in 0.229653 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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