提供两种方法:
1、有中间变量
2、无中间变量
#include #include
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;
}
一个实现字符串反转的函数.doc
下载Word文档到电脑,方便收藏和打印[全文共684字]
编辑推荐:
下载Word文档