日期:2014-05-16  浏览次数:20727 次

这是一道面试题,哪位大哥帮忙找出错误并改正使程序能正常运行。
#include<stdio.h>
#include<string.h>
void s_back(char * a )
{
int i=0;
char temp =0;
char * ps;
char * pe;

if(!a)
return;

ps=a;

while(*a!=0)  
a++;

pe=a;
for(i=0;i<(pe-ps)/2;i++)     
{
temp=*(ps+i);
*(ps+i)=*(pe-i-1);
*(pe-i-1)=temp;
}

}
int main()
{
char * a=(char *)malloc(100);
memcpy(a,"a123456789",11);
printf("%s\n",a);
s_back(a);
printf("%s\n",a);
free(a);
return 0;
}

------解决方案--------------------
我编译后运行都没有问题啊