使用指针表示法打印数组

时间:2015-10-30 04:06:59

标签: c++ arrays pointers printing

我想指出一些使用常规打印功能的随机整数,然后使用指针表示法再次打印相同的整数。当我使用指针表示法时,我遇到了一些麻烦。如果有人可以发送一些提示,我们将非常感激。如果我注释掉特定的代码行,程序将完全编译,但不会与我喜欢的输出编译。

#include <iostream>
#include <ctime>
#include <stdlib.h>     //srand(), rand()

using namespace std;

void printArray(int[], int);
//void printToday(int , );

int main()
{
   int i = 0;
   const int SZ = 100;
   int myArray[SZ] ={0};
   srand(time(0));
   int myArrayTotal = 0;
   int *thelight;
   thelight = myArray;

   for (int i = 0; i <=100; i++)
   {
      myArray[i]= i+rand()%1000 ;
   }

   cout << "Array Notation:\n\n";
   printArray(myArray, SZ);
   system("pause");
   system("cls");

   cout << "Pointer Notation: \n\n";
   int k = 0;
   for (int i = 0; i < 10; ++i)
   {
      for (int j = 0; j < 10; ++j)
      {
         cout<< *(thelight + k)<< "\t";
         ++k; //if I comment out this line the second part of the program will run, but it isn' the values I want.
      }   cout<< endl;
   }
}

void printArray(int ArrayName[], int ArraySize)
{
   int k = 0;
   for (int i = 0; i < 10; ++i)
   {
      for(int j = 0; j < 10 ; ++j)
      {
         cout << ArrayName[k] << "\t";
         ++k;
      }cout << endl;
   }
}

谢谢

0 个答案:

没有答案