A-A+
下面程序段的运行结果是()。 char a[]=abcdefgh; char *p=a;
问题详情
下面程序段的运行结果是()。 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。