新微赢技术网

标题: [求助]指针遍历数组的问题 [打印本页]

作者: 玲珑之翼    时间: 2009-11-3 01:36
标题: [求助]指针遍历数组的问题
#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
#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
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
又学习
谢谢了~
作者: 風過aiq無痕    时间: 2009-11-3 01:36
真是晕倒呢`~看来学习是马虎不得的呢~~
作者: 笨笨洋葱    时间: 2009-11-3 01:36
就算是这样都有问题,因为你的数组只有四个元素,你遍历的时候却写了 *q=a+5,最后肯定会出负的数字
作者: 太阳神    时间: 2009-11-3 01:36
最后一个不写默认是0
斑竹真是大意呀
作者: ~~精灵小姐$    时间: 2009-11-3 01:36
呵呵,只是把括号去掉就可以了,(*p)++改成*p++;
作者: 三弓厶    时间: 2009-11-3 01:36
呵呵^多余的刮号 加不加都是一样`~
作者: 笨笨洋葱    时间: 2009-11-3 01:36
不对了
cout<<(*p)++<<endl;//cout<<*p++<<endl;这里错了,你没有把他地址改变而让他一直加下去,而且是个死循环(p!=q )

你没试过吗??




欢迎光临 新微赢技术网 (http://bbs.weiying.cn/) Powered by Discuz! X3.2