请教这个指针题目的解法
#include"stdio.h"#include"string.h"
fun(char *w,int n)
{
char t,*s1,*s2;
s1=w;s2=w+n-1;
while(s1<s2) { t=*s1++;*s1=*s2--;*s2=t; }
}
main()
{
char *p;
p="1234567";
fun(p,strlen(p));
puts(p);
}我的想法是s1指向字符串的首地址,s2指向字符串的尾地址 while语句是把首地址的值和尾地址的值进行交换,然后s1前移,s2后移
这样的话结果就应该是7654321
但答案是1711717
请教大家!!