【发布时间】:2012-05-24 10:49:32
【问题描述】:
看看下面这段 C++ 代码:
char a1[] = {'a','b','c'};
char a2[] = "abc";
cout << sizeof(a1) << endl << sizeof(a2) << endl;
虽然sizeof(char) 是1 字节,但为什么输出显示sizeof(a2) 为4 而不是3(如a1 的情况)?
【问题讨论】:
-
+1 从答案(以及我对初级程序员的经验)来看,这个问题会引起很多混乱,并导致许多难以发现的细微错误。