strcat(p, r); 执行之后p[20] = "abcdabcde";
strcpy(p + strlen(q), q);执行后p[20] = "abcabccde"
所以,结果是9
注:strcpy只是复制而已,不会影响字符串长度。
竟然看走眼了,结果是6
题中strcpy(p + strlen(q), q); 这句中虽然p[20] = "abcabccde", 但是P + 3这句将P的地址已经向后移动了3个字符
所以在后面在打印strlen(p)就是从偏移哪里开始读取。
如果printf("%d\n", strlen(p - 3)); 结果就是9