Array 直接初始化 char 数组是特殊的,这种初始化要记得字符是以一个 null 结尾的。
#include <iostream> using namespace std; int main() { char a1[] = {'A', 'B', 'C', 'D'}; int len = sizeof(a1)/sizeof(a1[0]); printf("数组a1长度为: %d \n", len); char a2[] = "liukedong"; // 9个字符, 但长度为10, 这种初始化数组的方式,会导致后面追加一个null len = sizeof(a2) / sizeof(a2[0]); printf("数组a2长度为: %d \n", len); return 0; }
数组a1长度为: 4 数组a2长度为: 10 请按任意键继续. . .