去除字符串相邻相同的字符
今天看到一个题目:
怎么去除字符串中相邻相同的字符串?
如:aaaabbbbbccc111222333
去掉相邻相同的字符之后为:
abc123
有人这么写的:
char *unique(char *src)
{
char *p1 = src, *p2 = src;
if (NULL != src)
while((*p1 == *p2) ? *p2++ : (*++p1 = *p2++));
return src;
}
QQ群里有人说*++p1 = *p2++;这句有问题,说求值顺序不定
我觉得虽然写的有点晦涩,但是不存在副作用
请问大家觉得有问题没?