c語言怎么反轉(zhuǎn)輸出字符串 怎么用C語言實(shí)現(xiàn)漢字字符串的反轉(zhuǎn)?
怎么用C語言實(shí)現(xiàn)漢字字符串的反轉(zhuǎn)?看漢字編碼,windows一般是GBK,兩個(gè)字節(jié)作為一個(gè)漢字,第一個(gè)字節(jié)必須大于0xa0。在本例中,將兩個(gè)字節(jié)作為一個(gè)整體翻轉(zhuǎn)。對(duì)于那些有漢字的人來說,用一根線翻轉(zhuǎn)漢
怎么用C語言實(shí)現(xiàn)漢字字符串的反轉(zhuǎn)?
看漢字編碼,windows一般是GBK,兩個(gè)字節(jié)作為一個(gè)漢字,第一個(gè)字節(jié)必須大于0xa0。在本例中,將兩個(gè)字節(jié)作為一個(gè)整體翻轉(zhuǎn)。對(duì)于那些有漢字的人來說,用一根線翻轉(zhuǎn)漢字是很麻煩的。最好用另一個(gè)字符串存儲(chǔ)它們。
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)}
如果字符串的求逆非常方便,那么只需使用一個(gè)輔助單元即可實(shí)現(xiàn):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)