Online Compiler C

#include <stdio.h> int main() { char c,save=0; while((c=getchar())!='.') if( c='.'&& c=' '){ }else { putchar(c); save=c; } return 0; }
这段代码试图从输入中读取字符,遇到句点停止,并尝试处理连续空格的问题。但代码中有几个关键错误。

- 第6行的条件判断 `c='.'&& c=' '` 使用了赋值运算符 `=` 而不是比较运算符 `==`,这会导致 `c` 被赋值为 `'.'` 或 `' '`,而不是进行比较。同时逻辑上你想判断的是当前字符是句点或空格,但写法不正确。
- 变量 `save` 被声明但未在条件中正确使用,可能意图是记录上一个字符以处理连续空格,但当前逻辑没有实现这个功能。

- 检查第6行的赋值运算符,思考如何正确比较字符。
- 思考如何利用 `save` 变量来检测连续空格,例如当当前字符是空格且上一个字符也是空格时,应该跳过输出。