C++ 对现有一维数组a[8]={1,2,3,4,5,6,7,8},用循环遍历和指针2种方法输出

如题所述

#include<iostream>
using namespace std;
int main(void)
{
int i,a[8]={1,2,3,4,5,6,7,8};
int *p=a;
cout<<"循环遍历"<<endl;
for(i=0;i<8;i++)
cout<<a[i]<<" ";
cout<<endl;
cout<<"指针遍历"<<endl;
for(i=0;p+i<p+8;i++)
cout<<*(p+i)<<" ";
cout<<endl;
return 0;
}

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-18

    #include<iostream>

    using namespace std;

    int main(void)

    {

        int i = 0,a[8] = {1,2,3,4,5,6,7,8};

    for(i;i<8i++)

    cout<<a[i]<<" ";

    int *p = a;

    for(i;i<8;i++)

    cout<<*(p+i)<<"  ";

    return 0;

    }

本回答被提问者采纳
第2个回答  2014-01-18
#include <stdio.h>
// 定义数组长度
#define ARRAY_LENGTH 8
int main(void){
  // 声明数组
  int ia[ARRAY_LENGTH] = {1,2,3,4,5,6,7,8};
  // 声明循环变量
  int ii = 0;
  // 声明数组指针,并初始化数组地址
  int *pi = ia;
  // 循环遍历
  for(ii = 0; ii < ARRAY_LENGTH;ii++ ){
    // 数组访问
    printf("%d\n", ia[ii]);
  }
  // 循环遍历
  for(ii = 0; ii < ARRAY_LENGTH;ii++ ){
    // 指针访问
    // 8(pi+0) = ia[0]
    // *(pi+1) = ia[1]
    printf("%d\n", *(pi+ii));
  }
  return 0;
}