单项选择题

有以下程序:
#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