下面程序段的运行结果是char *p="abcdefgh";p+=3;printf("%d\n" strlen(strcpy(P "ABCD"))); A.8
程序
已帮助 人
下面程序段的运行结果是char *p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(P,"ABCD"))); A.8 B.12 C.4 D.7
-
参考答案:C在本题中,程序段首先定义了字符型指针变量p,并使其指向一个字符串,然后将指针变量p加3,即使其指向字符串的第四个元素。然后执行输出语句,通过输出语句的输出格式我们可以知道,最后输出的是一个十进制数的整型数值,其输出列表为strlen(strcpy(P,″ABCD″))。这就要求我们了解strlen函数和strcpy函数的作用。strcpy的调用格式是:strcpy(目的地址,源地址),其功能是把源地址的字符串复制到目的地址中,这种复制将覆盖原来的字符串。strcat函数的功能是将源地址的字符串复制到目的地址字符串的后面。strlen的调用格式是:strlen(字符串地址),其功能是返回字符串中字符的个数。那么程序中执行strcpy(P,″ABCD″)后指针变量p所指向的字符串为“ABCD”,该字符串中字符的个数为4,那么执行strlen后,程序最终输出的结果是4。因此本题正确的答案是C。
