目录: 标题| 题干| 答案| 搜索| 相关
问题

下面程序段的运行结果是char *p="abcdefgh";p+=3;pri


下面程序段的运行结果是char *p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(P,"ABCD"))); A.8 B.12 C.4 D.7

  • A8
  • B12
  • C4
  • D7
参考答案
参考解析:

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

分类:其他
相关推荐

1、下面程序段的运行结果是char *p="abcdefgh";p+=3;pri

下面程序段的运行结果是char *p="abcdefgh";p+=3;printf("%d\n",strlen(strcpy(p,"ABCD")));A8B12C4D7

2、请读程序段: char str[]="ABCD",*p=str; print

请读程序段: char str[]="ABCD",*p=str; printf("%d ",*(p+4)); 程序段的输出结果,是_______。A68B0C字符D的地址D不确定的值

3、以下程序运行后;输出结果是______。 main() { char*d[]

以下程序运行后;输出结果是______。 main() { char*d[]={"ab","cde"}; printf("%x",d[1]); }AcdeB字符c的ASCII码值C字符c的地址D出错

4、下面程序段的运行结果是char str[]="ABC",*p=str;pri

下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A.67 B.0 C.字符’C’的地址 D.字符’C’A67 B0 C字符’C’的地址 D字符’C’

5、下面程序段的运行结果是char str[]="ABC",*p=str;pri

下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A67B0C字符′C′的地址D字符′C′

6、有下列程序:main{ char p[]={a,h,c},q[]="

有下列程序:main{ char p[]={a,h,c},q[]="a";printf("%d%d\n".sizeof(P),sizeof(q));}程序运行后的输出结果是( )。A4 4B3 3C3 4D4 3