为什么数组用大括号和双引号赋值结果不一样,该怎么解决

为什么数组用大括号和双引号赋值结果不一样C/C++ code#includeiostream.h]void main(){char a[]{1,2,3,

为什么数组用大括号和双引号赋值结果不一样

C/C++ code
#include<iostream.h>]void main(){    char a[]={1,2,3,5,4};    char b[]="1234648";    cout<<a[1]<<endl;    cout<<b[1]<<endl;}

结果a[1]输出笑脸,b[1]输出2,这是为何?还请指教

[解决办法]
char a[]={'1','2','3','5','4'};
[解决办法]
a是序号为123的ascii字符,b是字符12等
楼主看一下ascii字符表