一道面试题:AABCC输出为:A2B1C2
#include <stdio.h>#include <stdlib.h>// A2B2C2A2void deal( const char *pIn, char *pOut){const char *tmpIn;char *tmpOut;char count;// 字符计数器char preCh;// 前一个字符char curCh;// 当前字符tmpIn = pIn;tmpOut = pOut;count = '1';preCh = *tmpIn;while (*tmpIn++){curCh = *tmpIn;// 如果前一个字符与当前字符相等,则计数加1if (preCh == curCh){count++;}else{// 否则,说明出现不同字符,需要输出前一个字符及个数// 这里是关键,保证是一个字符串!!!*tmpOut++ = preCh;*tmpOut++ = count;*tmpOut = 0;// 为下一个字符处理做准备count = '1';preCh = curCh;}}}int main(void){char *pIn = "A";char arr[20];deal(pIn, arr);printf("%s\n", arr);return 0;}?