c語言用遞歸實現(xiàn)字符串逆序輸出 怎么用C語言實現(xiàn)漢字字符串的反轉(zhuǎn)?
怎么用C語言實現(xiàn)漢字字符串的反轉(zhuǎn)?看漢字編碼,windows一般是GBK,兩個字節(jié)作為一個漢字,第一個字節(jié)必須大于0xa0。在本例中,將兩個字節(jié)作為一個整體翻轉(zhuǎn)。對于那些有漢字的人來說,用一根線翻轉(zhuǎn)漢
怎么用C語言實現(xiàn)漢字字符串的反轉(zhuǎn)?
看漢字編碼,windows一般是GBK,兩個字節(jié)作為一個漢字,第一個字節(jié)必須大于0xa0。在本例中,將兩個字節(jié)作為一個整體翻轉(zhuǎn)。對于那些有漢字的人來說,用一根線翻轉(zhuǎn)漢字是很麻煩的。最好用另一個字符串存儲它們。
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) 免費(P)}
以下是程序代碼:#include<stdio。H>intgnn(int){intjintlast=1for(J=0j<ej){last=10*last}return last}void fun(longintn,INTN){intnextif(n<1){printf(“”)return}else{next=n/GNN(n-1)printf(%d”,next)fun(n%GNN(n-1),n-1)}void main(){longintnprintf(“請輸入要轉(zhuǎn)換的數(shù)字:”)scanf(%d”,&n)INTN=1longintk=n/10For(inti=0k!=0I)}{k=k/10N}Printf(“轉(zhuǎn)換輸出為:”)Printf(“”)fun(n,n)Printf(“”)//getch()}