我想从数组中删除空格并重新排列数组的值。
array[]="1 2 6 9 5";
我想要像数组的值
array[]="12695"
答案 0 :(得分:2)
有无数种方法可以产生一个简单的解决方案,以从字符串中删除空格。这是我使用指针迭代想出的一个小例子:
void remove_spaces(char * str){
char * back = str;
do{
if(*back != ' ')
*str++ = *back;
}while(*back++ != '\0');
}
此代码使用两个指针遍历给定的字符串。在循环的每个步骤中,针对空字符检查back
指针(以查看是否已到达字符串的结尾)并递增。在循环的主体中,只要back
不指向' '
,就将后指针的值复制到前指针。使用后递增(str
)运算符将*back
复制到*str
后,++
也立即递增。