下列程序中,假设一个字符占用的内存空间是 $1$,下列程序中,ch 占用的内存空间是( )
char ch[] = "hello world";
size_t ret = strlen(ch);
cout << ret << endl;答案D。数组和位运算的代码追踪要特别小心:数组下标从0开始,位运算结果可能不直观。建议画图辅助。
位运算追踪时建议把数字写成二进制形式再逐位计算。
【考点】字符串常量存储|数组大小计算|sizeof与strlen区别
GESP二级「数组与字符串」模块核心考点。命题人专门卡住90%考生——以为字符串长度就是可见字符数,忘了数组声明时编译器会自动补 \0。