有以下程序: #include <stdio.h> #include <string.h> main() { char str[][20]={"Hello","Beijing"},*P=str[0]; printf

admin2009-01-15  24

问题 有以下程序:    #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

答案4

解析 本题考查字符数组和指针的运用。strlen是测试字符串长度的函数,函数的值为字符串的实际长度,不包括’/0’在内。str[][20]={"Hello","Beijing"}定义了一个2行20列的数组,数组的首地址是&str[0][0],p+20是从首地址向后移了20位,指针指向了str[1][0]处,此时求字符串的长度,是从str[1][0]开始的,即“Beijing”的长度,所以输出结果是7。
转载请注明原文地址:https://jikaoti.com/ti/mvK0FFFM
0

最新回复(0)