char* makeFancyString(char* s) {int size=strlen(s);char*arr=(char*)malloc(sizeof(char)*size+1);if(size<3){return s;}arr[0]=s[0];arr[1]=s[1];int p=2;for(int j=2;j<size;j++){if(s[j]!=s[j-1]||s[j]!=s[j-2]){arr[p]=s[j];p++;}}arr[p]='\0';return arr;
}
此代码的细节很多:
1.字符串末尾的\0与空间分配的\0
2.或运算:必须两个全部满足才报错,使用后无需写较长的且语句