int gsmInvertNumbers(const char* pSrc, char* pDst, int nSrcLength)
{
int nDstLength; // 目标字符串长度
char ch; // 用于保存一个字符
// 复制串长度
nDstLength = nSrcLength;
int i = 0;
// 每两两字符进行颠倒对调变换
for( i=0; i<nSrcLength;i+=2)
{ //i的目的是保证循环的次数
ch = *pSrc++; // 保存先出现的字符 ++++++++++++++++++++++++
*pDst++ = *pSrc++; // 复制后出现的字符 +++ 注意“++”运算 +++
*pDst++ = ch; // 复制先出现的字符 ++++++++++++++++++++++++
}
// 源串长度是奇数吗?
if(nSrcLength & 1){
*(pDst-2) = 'F'; // 补'F'
nDstLength++; // 目标串长度加1
}
// 输出字符串加个结束符
*pDst = '\0';
// 返回目标字符串长度
return nDstLength;
}