问题 单项选择题

有以下程序
#include
main()
{ char str[][20]={"Hello","Beijing"},*p=str;
printf("%d\n",strlen(p+20));
}
程序运行后的输出结果是()

A、0

B、5

C、7

D、20

答案

参考答案:C

解析:

尽管定义的是二维数组,但为其分配的存储单元却是连续的。第一个字符串占了20个存储单元,第二个字符串将从第21个单元开始存放,而strlen(p+20)则是从第21个存储单元开始的字符串中包含的字符个数。

论述题
判断题