c语言怎么反转输出字符串 怎么用C语言实现汉字字符串的反转?
怎么用C语言实现汉字字符串的反转?看汉字编码,windows一般是GBK,两个字节作为一个汉字,第一个字节必须大于0xa0。在本例中,将两个字节作为一个整体翻转。对于那些有汉字的人来说,用一根线翻转汉
怎么用C语言实现汉字字符串的反转?
看汉字编码,windows一般是GBK,两个字节作为一个汉字,第一个字节必须大于0xa0。在本例中,将两个字节作为一个整体翻转。对于那些有汉字的人来说,用一根线翻转汉字是很麻烦的。最好用另一个字符串存储它们。
void reverse uuo with uuChinese(char*s){char*P int len=strlen(s)int i,t P=(char*)malloc(len 1)P[len]=0,t=len for(i=0,s[i]){if(s[i]>0xa0)//汉字{P[t-1]=s[i]P[t]=a[i 1]t-=2,i=2}否则{P[t--]=s[i]}}strcpy(s,P) Free(P)}
如果字符串的求逆非常方便,那么只需使用一个辅助单元即可实现:char s[200],I,J,cgets(s)for(J=0s[J]J)for(I=0I<ji,J--){C=s[I]s[I]=s[J]=C}puts(s)