正在學習ios開發,在前期學習c時,常規方法直接倒轉數組的值,只能用於非中文字符,否則出現亂碼,
在網上找了點資料,可能是 IDE不一致,一直得不到自己想要的值。花時間自己改了一下,正常通過
//字符串倒轉 char *MyInverseStr(char _soruce[]) { int x=strlen(_soruce); //char strrRev[strlen((char *)_soruce)]; //采用sizeof(_source),sizeof((char *)_source)獲取不到正確值.而strlen((char *) _source),strlen(_source)不能直接當變量使用,必須先賦值給指定的變量 char strrRev[x+1]; // int j=0; for (int i=strlen(_soruce)-1; i>=0; i--) { if(_soruce[i]>127 || _soruce[i]<0) //是漢字 { strrRev[j]=_soruce[i-2]; strrRev[j+1]=_soruce[i-1]; strrRev[j+2]=_soruce[i]; i-=2; j+=2; } else { strrRev[j]=_soruce[i]; } j++; } strrRev[j]='\0'; return strrRev; }
新手勿噴!