用指针实现字符串的逆序排列

#include<stdio.h>
#include<string.h>
void reverse_str(char *p)
{
int i,j;
char ch;
for(i=0;;i++)
{
if(*(p+i)=='\0') break;
}
for(j=0;j<i;j++,i--)
{
ch=*(p+j);
*(p+j)=*(p+i);
*(p+i)=ch;
}
}
main()
{
char s,*p;
p=&s;
scanf("%s",&s);
reverse_str(*p);
printf("%s",p);
printf("%s",s);
}
不知道错在哪

#include <stdio.h>
#include<string.h>
void change(char *x);
void main()
{char c[100];
printf("请输入原字符串: ");
gets(c);
change(c);
printf("倒叙后的字符串: ");
printf("%s\n",c);
}
void change(char *x)
{char *p,temp;
int i;
for(i=0,p=x;i<strlen(x)/2;i++)
{temp=*(p+i);
*(p+i)=*(p+strlen(x)-i-1);
*(p+strlen(x)-i-1)=temp;
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答