字符串逆置之逆置中文汉字:
因为C语言中char占一个字节而汉字占两个或三个字节(标准不同),如果按照一个字节去逆置汉字,汉字将会有可能发生错误,因此必须整体逆置汉字占的字节,才能正确输出。
#include<stdio.h>
#include<string.h>
#define N 100
int main(void){
char str[N]={0};
char str2[N];
gets(str);
int len;
int i,j;
len = strlen(str);
for (i = 0,j=len-2; i < len; i+=2,j-=2)
{
str2[j]=str[i];
str2[j+1]=str[i+1];
}
puts(str2);
return 0;
}