这几个题我可以排除错误,但我不知道错误选项为什么错了,哪位大神答疑一下?
1.若有以下说明语句,错误使用strcpy函数的是(c)char *str1="we",str2[8],str3[8]="how",*str4,str5[3]="you";
A.strcpy(str2,str1) B.strcpy(str3,str1) C.strcpy(str4,str5) D.strcpy(str5,str1)
2.若有以下说明和语句,则输出结果是(b)【尤其这个】
char *sp="\t\v\\\0will\n";
printf("%d",strlen(sp));
A.14 B.3 C.9 D.10
3.下面程序的输出结果为(a)【尤其这个】
程序代码:
#include<stdio.h> #include<string.h> void main() { char s1[6],s2[6],s3[6],s4[6]; scanf("%s%s",s1,s2); gets(s3); gets(s4); puts(s1);puts(s2); puts(s3);puts(s4); } 输入: 123 321 456 654
A.123 B.123 C.123 D.123 321
321 321 321 456
456 654 654
456 654 654
4.这个题解释原因。。。
程序代码:
#include<stdio.h> void main() { void invert(char *perv,char *endp); char string[80]="change",*p2,*p1; p1=p2=string; while(*p2)p2++; p2--; invert(p1,p2); printf("\n%s",p1); } void invert(char *perv,char *endp) { static char temp; printf("%c",endp[0]); if(perv<endp) { temp=*perv; *perv=*endp; *endp=temp; invert(perv+1,endp-1); } } 结果是: egnn egnahc