单项选择题

有以下程序
# include
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.abcdefg
B.gfedcba
C.gbcdefa
D.abedcfg