C实现中英文字符串反转

刘纪君 发布于 2013/05/27 19:11
阅读 465
收藏 0
#include <stdio.h>
#include<string.h>
char *str="汉字里有english也能正确显hehe";

int main() {
  int i = strlen(str) - 1;
  while (i>=0) {
    str[i] < 0?printf("%c%c%c\n", str[i-2], str[i-1],str[i]):printf("%c\n", str[i]);
    i--;
  }
  return 0;
}
谁还有更好的办法来处理这个反转?
加载中
0
刘纪君
刘纪君

重复了hs:

修改如下:

#include <stdio.h>
#include<string.h>
char *str="汉字里有english也能正确显hehe";

int main() {
  int i = strlen(str) - 1;
  while (i>=0) {
  
        if(str[i] < 0)
        {
                printf("%c%c%c\n", str[i-2], str[i-1],str[i]);
                i = i-2;
        }else{
                printf("%c\n", str[i]);
        }
        i--;
  }
  return 0;
}

0
中山野鬼
中山野鬼
究竟是存储反转,还是显示反转?
0
刘纪君
刘纪君
显示反转
0
S
Sachs_
汉字一定是3个字节的吗?
S
Sachs_
回复 @刘纪君 : 对编码不是很了解,不过在linux下有个iconv库,可以参考一下。
刘纪君
刘纪君
这个不同编码格式不一样的需要转换,我现在只处理一种情况,你有好的方法处理吗?
返回顶部
顶部