以下代码用于将多个连续空格替换为1个空格.虽然我设法做到了,但我对使用花括号感到困惑.
这个实际运行正常:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int ch, lastch;
lastch = 'a';
while((ch = getchar())!= EOF)
{
if(ch == ' ')
{
if (lastch != ' ')
putchar(ch);
}
else
putchar(ch);
lastch = ch;
}
}
Run Code Online (Sandbox Code Playgroud)
但我无法弄清楚为什么这个不是,只是在内部循环和else语句中放置花括号:
#include <stdio.h>
#include <stdlib.h>
int main()
{
int ch, lastch;
lastch = 'a';
while((ch = getchar())!= EOF)
{
if(ch == ' ')
{
if (lastch != ' ')
{
putchar(ch);
}
}
else
{
putchar(ch);
lastch = ch;
}
} …Run Code Online (Sandbox Code Playgroud)