您的位置:首页 > 其它

一个字符串反转函数

2009-03-31 15:10 162 查看
#include <stdio.h>
#include <string.h>

void reverse_str(char * ch);
void reverse_str2(char *ch);

int main(void)
{
char c[] = "Can you reverse me?";

printf("original string c: /n%s/n", c);
reverse_str(c);
printf("reversed string after calling reverse_str: /n%s/n", c);
reverse_str2(c);
printf("reversed string after calling reverse_str2: /n%s/n", c);
system("pause");

return 0;
}

void reverse_str(char *ch)  /*使用中间变量*/
{
int len;
int i;
len = strlen(ch)-1;
char ctemp;

for(i = 0; i < len-i; i++)
{
ctemp = ch[i];
ch[i] = ch[len-i];
ch[len-i] = ctemp;
}
ch[len+1] = 0;

}

void reverse_str2(char *ch)   /*不用中间变量*/
{
int len;
int i;
len = strlen(ch)-1;
char ctemp;

for(i = 0; i < len-i; i++)
{
ch[i] = ch[i] ^ ch[len-i];
ch[len-i] = ch[i] ^ ch[len-i];
ch[i] = ch[i] ^ ch[len-i];
}
ch[len+1] = 0;
}


虽然短短几行,但很值得研究。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐