完善程序,把字符串“student”复制到str1数组中,charstr1[20];();
第1题:
函数调用strcat(strcpy(str1,str2) ,str3) 的功能是( )。
A.将字符串str1复制到字符串str2中后再连接到字符串str3之后
B.将字符串str1连接到字符串str2之后再复制到字符串str3之后
C.将字符串str2复制到字符串str1中后再将字符串str3连接到字符串str1之后
D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中
第2题:
下列程序的功能是将字符串“abcde”逆序打印出来。请填写空白处以完善程序。 Munction rev(str1)As String B = Mid(,1,1) If B =""Then rev ="" Else rev = rev(Mid(str1,2))+b End If End Function Private Sub Form_Click() old ="abcde" Print rev(old) End Sub
第3题:
以下sstrcpy()函数实现字符串复制,即将t所指字符串复制到s所指向内存空间中,形成一个新的字符串s。请填空。void sstrcpy(char*s,char*t){while(*s++=);}main(){ char str1[100],str2[]="abcdefgh"; sstrcpy(str1,str2); printf("%s\n",strl);}
第4题:
下列给定程序中,函数proc的功能是:首先把b所指字符串中的字符按逆序存放,然后将str1所指字符串中的字符和Str2所指字符串中的字符,按排列的顺序交叉合并到str所指数组中,过长的剩余字符接在str所指数组的尾部。例如,当str1所指字符串中的内容为ABCDEFG,str2 所指字符串中的内容为1234时,str所指数组中的内容应该为A483C2D1EFG;而当str1所指字符串中的内容为1234,str2所指字符串中的内容为ABCEDFG时,str所指数组中的内容应该为1G2F31:4DCBA。 请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序: include<stdlib.h> include<conio.h> include<stdio。h> include<string.h> void proc(char*strl,char*str2,char*str) { int i,j;char ch; i=0;j=strleu(str2)-1; //****found**** while(i>j) { ch=str2[i];str2[i]=str2[j];str2[j]=ch; i++;j--; } while(*str1||*str2) { if(*str1){*str=*str1;str++;str1++;) if(*str2){*str=*str2;str++;str2++;) } //****found**** *str=0: } void main { char s1[100],s2[100],t[200]; system("CLS"); printf("\nEnter s1 string:"); scanf("%s",sl); printf("\nEnter s2 string:"); scanf("%s",s2); proc(s1,s2,t); printf("\nThe result is:%s\n",t); }
(1)错误:while(i>j)
正确:while(i<j)
(2)错误:*str=0;
正确:*str='\0 ';
【解析】由函数proc可知,变量i和j分别存放的是字符串str前面和后面第i个字符的位置,当i<j时,两个位置的字符交换。因此,“while(i>j)”应改为“while(i<j)”;交叉合并完成后,要为新的字符串添加结束符,因此,“*str= 0;”应改为“*str='\0';”,
第5题:
函数调用:strcat(strcpy(str1, str2), str3)的功能是______。
A.将串str1复制到串str2中后再连接到串str3之后
B.将串str1连接到串str2之后再复制到串str3之后
C.将串str2复制到串str1中后再将串sir3连接到串str1之后
D.将串str2连接到串str1之后再将串str1复制到串str3中
第6题:
执行语句序列
char strl[10]="ABCD",str2[10]="XYZxyz";
for (int i=0; strl[i]=str2[i]; i++)
后,数组str1中的字符是XYZxyz,数组str2中的字符串是【 】。
第7题:
执行语句序列
char str1[10]="ABCD",str2[10]="XYZxyz";
for(int i=0;strl[i]=str2[i];i++);
后,数组strl中的字符串是______。
第8题:
函数调用strcat(strcpy(str1,str2),str3)的功能是( )。
A.将字符串str1复制到字符串str2中后再连接到字符串str3之后
B.将字符串str1连接到字符串str2之后再复制到字符串str3之后
C.将字符串str2复制到字符串str1后再将字符串str3连接到字符串str1之后
D.将字符串str2连接到字符串str1之后再将字符串str1复制到字符串str3中
第9题:
下面函数的功能是 char*fun(char*strl,char*str2) { while((*strl)&&(*str2++=*strl++)); return str2;}
A.求字符串的长度
B.比较两个字符串的大小
C.将字符串str1复制到字符串str2中
D.将字符串str1接续到字符串str2中
第10题:
请补充main()函数,该函数的功能是:把一个二维字符
数组每行字符串中最大的字符复制到字符数组s中。
例如,如果arr[3]={″hoih″,″yufui″,″xgf″),则str=″oyx″。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填人所编写的若干表达式或语句。
试题程序:
【1】p=arr【2】p[i]++【3】str[i]=ˊ\0ˊ
【解析】由程序可知,变量P指向的二维数组的首地址,因此【1】处填“p=arr”;要找出二维数组中每一行的最大字符,就要检查每一行的每一个字符,因此【2】处填“p[i]++”;最后要为得到的结果字符串加上结束符,因此【3】处填“str[i]=ˊ\0ˊ”。