请问这个代码是不是有问题啊,考试试卷上的
#include
#include
void fun(char *w,int n);
void main()
{ char *p="1234567";
fun(p,strlen(p));
puts(p);
}
void fun(char *w,int n)
{ char t,*s1,*s2;
s1=w;
s2=w+n-1;
while(s1
t = * s1++后,s1会向后移动一个位置,这是 * s1 = * s2--,交换的s1已经变了啊。后面的 * s2 = t也是,所以要交换后再移动
t=*s1;
*s1=*s2;
*s2=t;
s1++;
s2--;