首尾元素相交换:
#include<stdio.h>
#include<string.h>char *change(char *a)
{
if(*a != '\0')
{
char temp;
char *s1= a;
char *s2 = a + strlen(a) - 1;
while(s1 < s2)
{
temp = *s1;
*s1 = *s2;
*s2 = temp;
*s1++;
*s2--;
}
}
return a;
}
int main(void)
{
char a[] = "abcdef";
char *b;
b = change(a);
printf("%s/n",b);
}
递归的做法:
void reverse(char *a)
{
if(*a == '\0')
return;
{
reverse(a + 1);
printf("%c",*a);
}
}
int main(void)
{
char a[] = "abdsdf";
reverse(a);
}