设char str1[11]="HELLO,",str2[10]=“world”;则执行语句cout<<strlen(strcpy(str1,str2)));后的

题目
设char str1[11]="HELLO,",str2[10]=“world”;则执行语句cout<

设char str1[11]="HELLO,",str2[10]=“world”;则执行语句 cout<<strlen(strcpy(str1,str2)));后的输出结果是 ______。

A.12

B.11

C.7

D.5

参考答案和解析
正确答案:D
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有语句:char str1[]="string",str2[8],*str3,*str4="string";,则下列对库函数strcpy调用不正确的是

A.strcpy(str1,"Hello1");

B.strcpy(str2,"Hello2");

C.strcpy(str3,"Hello3");

D.strcpy(str4,"Hell04");


正确答案:C
解析:本题考核函数调用。函数strcpy的函数原型为:char*strcpy(char*strDest,constchar*trSrC);,其功能是复制strSrc所有字符到strDest,并返回strDest。根据函数strcpy的原型可知选项A)、B)和D)的调用都是正确的。在C)选项中,由于指针*str3没有初始化其字符长度,容易引起访问越界,故是不正确的。

第2题:

设有以下语句: char str1[]="string",str2[8],*str3,*str4=="string; 则______不是对库函数的正确调用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str4,"HELLO4")


正确答案:C
解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的中指针str3没有指向具体有效的存储单元,故是错误的调用。

第3题:

执行语句序列

char strl[10]="ABCD",str2[10]="XYZxyz";

for (int i=0; strl[i]=str2[i]; i++)

后,数组str1中的字符是XYZxyz,数组str2中的字符串是【 】。


正确答案:XYZxyz
XYZxyz 解析:注意for的循环体为空语句,其第二个表达式为一个赋值语句而不是一个逻辑表达式语句。因此,for循环的作用实际上是将str2的字符逐个赋值给str1中的对应位置。

第4题:

若有以下说明,则( )不是对strcpy库函数正确的调用。

A.strcpy(str2,str1)

B.B.strcpy(str3,str1)

C.strcpy(str1,str2)

D.strcpy(str5,str1)


正确答案:C
strcpy(s1,s2)函数的功能是将字符串s2复制到字符串s1中。要保证sl存储区能容纳下s2字符串。

第5题:

设有语句: char str1[]="string",str2[8],*str3,*str4="string"; 则下列对库函数strcpy()调用不正确的是( )。

A.strcpy(str1,"Hell01");

B.strcpy(str2,"Hell02");

C.strcpy(str3,"Hell03");

D.strcpy(str4,"Hell04");


正确答案:C
解析:本题考核库函数strcpy()的正确调用。函数strcpy()的函数原型为:char*strcpy(char*strDest,constchar*strSrC);其功能是复制strSrc所有字符到strDest,并返回strDest。根据函数strcpy()的原型可知,选项A、B和D的调用都是正确的。在选项C中,由于指针*str3没有初始化其字符长度,容易引起访问越界,故是不正确的。

第6题:

阅读下列函数说明和C函数,将应填入(n)处的字句写在对应栏内。

[函数2.1说明]

函数strcpy的功能是将字符串str2的内容复制到字符申str1。

[函数2.1]

(1) strcpy (char *slr1, const char *str2)

{ char * temp;

while( * str2!='\0') *cp++ =(2);

(3)='\0';

return str1;

}

[函数2.2说明]

函数int strcmp(const char *str1, const char *str2)的功能是按字典序比较两个字符串str1和str2的大小。当str1<str2时返回-1,当str1>str2时返回1,否则返回0。

[函数2.2]

int strcmp(const char *str1, const char *str2)

{ while( *str1= =* str2) {

if(* s1= =(4)) return 0;

s1++;

(5);

}

if( *str1<*str2) return -1;

return 1;

}


正确答案:char * (2) * str2++ (3) * cp (4) ‘\0’ (5) s2++或 ++s2
char * (2) * str2++ (3) * cp (4) ‘\0’ (5) s2++或 ++s2 解析:(1)根据函数说明,char *是函数strcpy的返回值类型;
(2)while循环是字符串复制的关键,它将str2的字符一个个复制到cp;
(3)字符复制完成后,应在字符串cp的末尾添加结束符;
(4)~(5):while循环的功能是从字符串首开始逐个比较str1和str2的每一字符,如果循环一直执行到两字符串末尾,则说明两串相等,应返回0值。

第7题:

设有以下语句: char str1 []="string"mstr2 [8],*str3,*str4=="string"; 则 ______不是对库函数的正确调用。

A.strcpy(str1,"HELLO1");

B.strcpy(str2,"HELLO2");

C.strcpy(str3,"HELLO3");

D.strcpy(str 4,"HELLO4");


正确答案:C
解析:C语言中:strcpy(st1,st2);,其两个参数均为字符指针或字符数组,选项C中的目的串指针str3没有指向具体有效的存储单元,故是错误的调用。

第8题:

执行语句序列

char str1[10]="ABCD",str2[10]="XYZxyz";

for(int i=0;strl[i]=str2[i];i++);

后,数组strl中的字符串是______。


正确答案:XYZxyz
XYZxyz 解析:注意for的循环体为空语句,其第二个表达式为一个赋值语句而不是一个逻辑表达式语句。因此,for循环的作用实际上是将str2的字符逐个赋值给str1中的对应位置。

第9题:

语句定义如下: char strl[50],str2[20],ch; 则下列语句正确的是______。

A.str1={"Crazy"}; str2=str1;

B.str1={"Crazy"}; str2={"English"}; strcpy(str1,str2);

C.ch="xy";

D.ch='x';


正确答案:D
解析:str1和str2是数组名,是常量,其值不可改变,所以A和B中将字符串常量赋值给str1和str2是错误的。字符变量ch占一个字节,只能存放一个字符,所以C也不正确。

第10题:

阅读下列程序,写出程序的运行结果【】。 include void main() { charstr1[ ]: "Hello,

阅读下列程序,写出程序的运行结果【 】。

include<iostream. h>

void main() { char str1[ ]: "Hello, World?;

char str2[100];

int i=0;

do{

if (str1[i]>= 'a'&& str1[i]<= 'z' )

str2[i]=str1[i]-32;

else

str2[i]=strl [i];

i++;

}while(strl[i]!='\0');

str2[i]='\0';

cout<<str1<<end1;

cout<<str2<<end1;

}


正确答案:Hello World! HELLO WORLD!
Hello, World! HELLO, WORLD!

更多相关问题