问题
单项选择题
有以下程序:
#include<string.h>
void f(char*s,char*t)
char k;
k=*s; *s=*t; *t=k;
s++; t--;
if(*s) f(s,t);
main( )
char str[10]="abcdefg",*p;
p=str+strlen(str)/2+1;
f(p,p-2);
printf(~%s\n",str);
程序运行后的输出结果是 ______。
A.abcdef
B.gfedcba
C.gbcdefa
D.abedcfg
答案
参考答案:B
解析: p=str+strlen(str)/2+1=str+4,f(p,p-2)的功能是将p[4]与p[2]互换,p[5]与p[1]互换,p[6]与p[0]互换,最后的结果为gfedcba。