( 31 )若有以下定义和语句char s1[10]= " abcd! " ,*s2= " \n123\\ ";printf ( " %d %d\n ", str

题目

( 31 )若有以下定义和语句

char s1[10]= " abcd! " ,*s2= " \n123\\ ";

printf ( " %d %d\n ", strlen ( s1 ) ,strlen ( s2 ) ) ;

则输出结果是

A ) 5 5

B ) 10 5

C ) 10 7

D ) 5 8

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

第1题:

若有定义和语句: char*sl="12345",* s2="1234"; printf("%d\n",strlen(stren(sl,s2))); 则输出结果 ( )

A.4

B.5

C.9

D.10


正确答案:A

第2题:

若有以下定义和语句: char*s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是______。

A.4

B.5

C.9

D.10


正确答案:A
解析:函数strcpy(s1,s2)的返回结果是指针s1的新值"1234",因此求串长函数的结果为4。

第3题:

以下程序的输出结果是 【 18 】 。

# include <stdlib.h>

main( )

{ char *s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15; *s2=20; m=*s1+*s2;

printf("%d\n",m);

}


正确答案:

第4题:

若有以下说明,则能打印出“Yu”的语句是______。 struct samp { char name[10]; int number; }kk[3]={{"WarBin",1},{"LiYu",2},{"LuHui",3}}; struct samp*str[3]; str[0]=&kk[0];str[1]=&kk[1];str[2]=&kk[2];

A.printf("%s\n",str[1].name[2]);

B.printf("%s\n",str[1]->name+2);

C.printf("%s\n",str[2].name[2]);

D.printf("%s\n",str[2]->name+2);


正确答案:B
解析:str是指针数组,每个元素存放的是指向结构体类型数据的地址,每个元素可看作是一个指针变量,通过结构体指针变量引用结构体变量各成员的形式有两种:一是(*指针变量名).成员名;二是指针变量名->成员名。本题可以是"(*str[1]).name+2"或"str[1]->name+2"。

第5题:

对于下面的程序includeincludechar *scmp(char*s1,char*s2){if(strcmp(s1,

对于下面的程序 #include<stdio.h> #include<string.h> char *scmp(char*s1,char*s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i:char string[20],sb[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[21)); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为______。

A.abcd

B.abba

C.abc

D.abca


正确答案:B
解析:本题自定义函数scrnp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执打strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(string,str[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

第6题:

若有定义语句:“char*s1=”0K”,*s2=”ok”;”,以下选项中,能够输出“OK”的语句是( )。

A.if(strcmp(sl,s2)= =0)puts(s1);

B.if(strcmp(sl,s2)!=0)puts(s2);

C.if(strcmp(sl,s2)= =l)puts(s1);

D.if(stremp(sl,s2)!=0)puts(s1);


正确答案:D
此题考查strcmp函数,此函数是模糊比较两个字符串的大小,因为Strcmp(sl,s2)!=0,所以需要输出“0K”用puts函数,所以答案为D。

第7题:

若有以下定义和语句: char s [10]="abcd!",*s2="\nl23\\"; Drintf("%d%d\n",strlen(sl),strlen(s2)); 则输出结果是( )。

A.5 5

B.10 5

C.10 7

D.5 8


正确答案:A
\n和\\分别为转义字符,各占据一个字符的位置。

第8题:

以下程序的输出结果是______

# include

main()

{char *s1,*s2,m;

s1=s2=(char*)malloc(sizeof(char));

*s1=15;

*s2=20;

m=*s1+*s2;

printf(“%d\n”,m);

}


正确答案:

35

第9题:

以下程序中函数scmp的功能是返回形参指针s1和s2所指字符串中较小字符串的首地址

#include <stdio.h>

#include <string.h>

char *scmp(char *s1, char *s2)

{ if(strcmp(s1,s2)<0)

return(s1);

else return(s2);

}

main( )

{ int i; char string[20], str[3][20];

for(i=0;i<3;i++) gets(str[i]);

strcpy(string,scmp(str[0],str[1])); /*库函数strcpy对字符串进行复制*/

strcpy(string,scmp(string,str[2]));

printf("%s\n",string);

}

若运行时依次输入:abcd、abba和abc三个字符串,则输出结果为

A.abcd

B.abba

C.abc

D.abca


正确答案:B
解析:当第一次执行strcpy()函数时,把输入的前两个串中的较小者复制到string中,第二次调用strcpy()函数时,则是把前两者中的较小者与第三个串进行比较返回较小者,并复制到string中,故string存放了3个输入串中的最小者。

第10题:

对于下面的程序includeincludechar * scmp(char * s1,char * s2){if(strcm

对于下面的程序 #include<stdio.h> #include<string.h> char * scmp(char * s1,char * s2) { if(strcmp(s1,s2)<0)return(s1); else return(s2); } main() { int i;char string[20],str[3][20]; for(i=0;i<3;i++)gets(str[i]); strcpy(string,scmp(str[0],str[1])); strcpy(string,scmp(string,str[2])); printf("%s\n",string); } 若运行时依次输入abcd、abba和abc三个字符串,则输出结果为 ______。

A.abcd

B.abba

C.abc

D.abca


正确答案:B
解析:本题自定义函数scmp()的作用是比较字符串s1和s2的大小,如果s1s2,函数返回s1的值,否则返回s2的值。若运行时依次输入abcd、abba和abc三个字符串,执行strcpy(string,scmp(str[0],str[1]));后,string的值为abba,再执行strcpy(string,scmp(string,str[2]));,由于scmp(stringstr[2])返回string的值abba,再拷贝到字符串数组string中,所以本题输出abba。

更多相关问题