I have the following C++ code-

```
#include<iostream>

using namespace std;

int main(){

char a[]={'0','1','2','3','4','5','6'};
char* p=a;

cout<<p;

return  0;
}

```

 The pointer p here contains the address of char array a.   
The output is -

```
01234565ÿ"

```

 I had used a integer array which gives me a simple hexadecimal address as output.  
Please explain me this strange output for char array.