这几个题我可以排除错误,但我不知道错误选项为什么错了,哪位大神答疑一下?
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










