二、填空题
10.11 以下程序的输出结果是____。
#include "stdio.h"
main()
{ char b[]="ABCDEFG",*chp=&b[7];
while(--chp>&b[0]) putchar(*chp);
putchar(\’\’\\n\’\’);
}
答案: GFEDCB
10.12 以下程序的输出结果是_____。
#include "stdio.h"
void fun(char *a1,char *a2,int n)
{ int k;
for(k=0; k a2[n]=\’\’\\0\’\’; } main() { char s1[5]="ABCD",s2[5]; fun(s1,s2,4); puts(s2); } 答案:XYZA 10.13 以下程序的输出结果是____。 main() { char *p[]={"BOOL","OPK","H","SP"}; int i; for(i=3; i>0; i--,i--) printf("%c",*p[i]); printf("\\n"); } 答案:SO 10.14 当运行以下程序时从键盘输入字符串qwerty和abcd,则程序的输出结果是____。 #include "string.h" #include "stdio.h" strle(char a[],char b[]) { int num=0,n=0; while(*(a+num)!=\’\’\\0\’\’) num++; while(b[n]) { *(a+num)=b[n]; num++; n++; } return (num); } main() { char str1[81],str2[81],*p1=str1,*p2=str2; gets(p1); gets(p2); printf("%d\\n",strle(p1,p2)); } 答案:10 10.15 以下程序的输出结果是____。 #include "string.h" #include "ctype.h" void fun(char str[]) { int i,j; for(i=0,j=0; str[i]; i++) if(isalpha(str[i])) str[j++]=str[i]; str[j]=\’\’\\0\’\’; } main() { char ss[80]="It is!"; fun(ss); printf("%s\\n",ss); } 答案:Itiss! 10.16 以下fun函数的功能是将一个字符串的内容颠倒过来,请填空。 #include "string.h" void fun(char str[]) { int i,j,k; for(i=0,j=____; i { k=str[i]; str[i]=str[j]; str[j]=k; } } 答案:strlen(str)-1j-- 10.17 以下程序段的输出结果是_____。 printf("%d\\n",strlen("s\\n\\0160end")); 答案:3 10.18 以下程序段的输出结果是_____。 char s[20]="goodgood!",*sp=s; sp=sp+2; sp="to"; puts(s); 答案:goodgood!