编写一个函数string_change(char str[]),要求实现str中的字符的互换。如”abcde”换成”edcba

来源:百度知道 编辑:UC知道 时间:2024/09/28 13:37:59
多谢~

#include <stdio.h>
#define LEN 5

int main(int argc, char *argv[])
{
void string_change();
char str[LEN]={'a','b','c','d','e'};
int i;
string_change(str);
for(i=0;i<LEN;i++)
printf("%c", str[i]);
printf("\n");
return 0;
}

void string_change(char str[])
{
char *begin, *end;
char temp;
begin=str;
end=&str[LEN-1];

if(LEN%2!=0)
for(;begin!=end;begin++, end--)
{
temp=*begin;
*begin=*end;
*end=temp;
}
else
for(;(end-begin)!=1;begin++, end--)
{
temp=*begin;
*begin=*end;
*end=temp;
}
}

两个指针,一头一尾,向中间靠拢的同时交换指针指向的内容就行了。