A-A+

下面程序段的运行结果是()。 char a[]=abcdefgh; char *p=a;

2022-08-06 06:21:16 问答库 阅读 176 次

问题详情

下面程序段的运行结果是()。 char a[]="abcdefgh"; char *p=a; p+=3; printf("%dn",strlen(strcpy(p,"ABCD")));
A.8
B.12
C.4
D.7请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:C
解析:p被定义为指针型变量,指向字符数组a的首地址。执行p+=3;指针后移3位,指向d。strcpy(p,"ABCD")将字符串"ABCD"(连同'\0')复制到p所指向的地址单元中,strlen()函数计算p所指向的字符串的长度,返回字符串中字符的个数(不计'\0'),返回值为字符串"ABCD"中字符的个数4。

考点:程序