选择题   有以下程序
    #include<stdio.h>
    #include<string.h>
    main()
    {  char p[20]={'a','b','c','d'),q[]='abc',r[]='abcde';
      strcat(p,r);
      strcpy(p+strlen(q), q);
      printf('%d\n',strlen(p));
    }
程序运行后的输出结果是______。
 
【正确答案】 B
【答案解析】[考点] 字符串、函数递归、标识符的作用域和存储类 strcpy()函数的功能是将字符串q复制到从p[3]位置开始的存储单元,同时复制字符串结束标志'\0'到p[6]中。函数strlen()返回的是字符串中不包括'\0'的实际长度,所以输出结果为6。