好的,所以我之前发布的关于尝试(没有任何预建的功能)删除额外的空格
"this is <insert many spaces!> a test" 会回来的
"this is a test"
由于这是家庭作业,我没有要求完整的解决方案,有些人向我提供了以下内容
"如果你需要在适当的位置进行,那么创建两个指针.一个指向正在读取的字符,一个指向要复制的字符.当你遇到一个额外的空间,然后调整'write'指针指向下一个非空格字符.将写字符所指向的字符复制到读取位置.然后在复制字符后提前读取和写入指向字符的指针.
问题是我现在想把我的电脑完全粉碎成碎片,因为我太烦恼了.我当时没有意识到我不能利用char数组所以使用数组索引来做它,我想我可以帮助它如何让它工作但现在我只是使用指针我发现它很难.我真的需要一些帮助,而不是完整的解决方案 到目前为止,这就是我在做的事情;
1)创建一个名为write的指针,所以我无处可写
2)创建一个名为read的指针,这样我就无法从中读取
(这两个指针现在都将指向char数组的第一个元素)
while (read != '\0')
if read == a space
add one to read
if read equals a space now
add one to write
while read != a space {
set write to = read
}
add one to both read and write
else
add one to read and write
write = read
Run Code Online (Sandbox Code Playgroud)
尝试在一张纸上逐个字符地完成这项工作并首先计算出你正在做什么,然后将其转换为代码.
如果你仍然遇到麻烦,可以先尝试做一些简单的事情,比如只是复制一个字符串字符而不用担心"删除重复空格"部分 - 只是为了确保你没有在其他地方犯过一个愚蠢的错误.