C++ 关于sizeof()问题

来源:百度知道 编辑:UC知道 时间:2024/09/28 17:55:17
int a[]={1,2,3};
int b=sizeof(a);
cout<<b;

我要得的答案应该是3,而给出的确实12 这是为什么啊?
我想得到3应该怎么做啊

因为b内存的是数组所占的总的空间 3×4 =12
你要想得到3 应该是 sizeof(a)/sizeof(int)

数组是3个int型数,在32位编译环境下,一个int型是4个字节,3个int型就是12字节了,如果你用TC2.0编辑,会发现结果是6.