执行以下代码后,输出结果是:( )。 char s[10] = "abcde"; int a = sizeof(s) / sizeof(s[0]); int b = strlen(s); cout << a - b;
A:4
B:5
C:6
D:10
正确答案:B
答案解析
定义字符数组s并初始化为"abcde",其大小由声明时的10决定。sizeof(s)计算整个数组占用的字节数,sizeof(s[0])为单个字符字节数,二者相除得到数组元素个数。strlen(s)统计字符串第一个空字符前的有效字符个数,不包含结尾的 。a的值由数组声明长度决定,b的值由实际字符串内容决定。两个变量分别反映数组容量和字符串长度两个不同概念。
试卷来源:202603 CCF-GESP编程能力等级认证C++三级真题