我正在尝试编写一个函数来删除字符串中的空格,我知道我的问题是即使在将下一个字符移动到空格所在的位置之后,我仍然会将该字符复制到其原始位置(我m 重复一个字符两次)。我不太确定如何摆脱那个重复的角色。(即我有“Hello world。”,但我的函数给了我“Hellowworld”。)
void deblank(char str1[], char str2[])
{
int i, x;
for (i = 0; str1[i] != '\0'; i++)
{
if (str1[i] == ' ')
{
x = i + 1;
str2[i] = str1[x];
}
else
{
str2[i] = str1[i];
}
}
str2[i] = '\0';
}