小编Gel*_*elo的帖子

C编程 - 关于花括号的混乱

以下代码用于将多个连续空格替换为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)

c scope

2
推荐指数
1
解决办法
168
查看次数

标签 统计

c ×1

scope ×1