这是一道面试题,哪位大哥帮忙找出错误并改正使程序能正常运行。
#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;
}
------解决方案--------------------
我编译后运行都没有问题啊