问题
单项选择题
有以下程序:
#include <stdio.h>
#include <string.h>
main()
char str[][20]="Hello","Beijing",*P=str[0];
printf("%d\n",strlen(p+20));
程序运行后的输出结果是( )。
A) 0
B) 5
C) 7
D) 20
答案
参考答案:C
解析: 本题考查字符数组和指针的运用。strlen是测试字符串长度的函数,函数的值为字符串的实际长度,不包括'/0'在内。str[][20]={"Hello","Beijing"}定义了一个2行20列的数组,数组的首地址是&str[0][0],p+20是从首地址向后移了20位,指针指向了str[1][0]处,此时求字符串的长度,是从str[1][0]开始的,即“Beijing”的长度,所以输出结果是7。