正在學習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;
}
新手勿噴!