creat a const array of char疑惑求解,该如何解决

creat a const array of char疑惑求解
各位大神,小弟根据题目写了一道程序,但是运行结果让我百思不得其解,求各位有才之士讲解!敝人感激不尽!

task:creat a const array of char,then try to change one of the chars.
  [from thinking in c++.english edition,page 368 T6]

the code I wrote is as follows:

[code=C/C++][/code]
#include<iostream>
using namespace std;
int main(){
  const char a[4]={1,2,3,4};
  cout<<a<<endl;
  cout<<a[3]<<endl;
  system("pause");//existing here only to see the result in DEV C++
}

when you running the code ,it prints


why?
first I think that the array is a const,and the complier will not assign the storge for the array ,so the complier can not visit the address of the array ,then I modify the code as follows:
[code=C/C++][/code]
#include<iostream>
using namespace std;
int main(){
  char a[4]={1,2,3,4};
  cout<<a<<endl;
  cout<<a[3]<<endl;
  system("pause");//existing here only to see the result in DEV C++
}
but the running result is as the same as what mentioned above.

next I run the code im VC 6.0,the result also is above.

so I want to know why the running result is above.

哈哈,英文水平有限,练练笔,大家将就着看吧!

------解决方案--------------------
看不到你的图片,但我知道应该是什么问题,你自己去找下面两条语句的区别吧。
char a[4]={1,2,3,4};
char a[4]={'1','2','3','4'};
cout用来显示ascii码
------解决方案--------------------
貌似楼主的问题解决了。你赋值给字符串的是int型,而实际类型是char,导致你输出肯定不是你想的那样子的嘛
------解决方案--------------------
貌似楼主的问题解决了。你赋值给字符串的是int型,而实际类型是char,导致你输出肯定不是你想的那样子的嘛

------解决方案--------------------
细节问题,LZ细心喔!!
------解决方案--------------------
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)

如果想从A变成B的话,到我的资源http://download.****.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”