如果在c++中定义一个char arr[10]; ,为啥a[0]=‘女’;这句没有报错

越界了吧其实
■网友
a = \u0026#39;女\u0026#39;;00BB1EEE mov eax,1 00BB1EF3 imul ecx,eax,0 00BB1EF6 mov byte ptr a,3Fh 双字节汉字被截断了。改成:wchar_t a;a = L\u0026#39;女\u0026#39;;汇编变成:a = L\u0026#39;女\u0026#39;;00821EEE mov eax,2 00821EF3 imul ecx,eax,0 00821EF6 mov edx,5973h 00821EFB mov word ptr a,dx
■网友
这个应该看编译器,是否会把截断成两个字节。关键就是看程序的变量只是看名字,还是看他到底在内存中占用多少格呢
■网友
你用的是vc++吧 那不是c++


    推荐阅读