这是实践标准C吗?

问题描述 投票:0回答:1

是否仅用方括号创建本地范围,这将被视为标准C?

#include <stdio.h>

int main(int argc, char *argv[]) {
    {
        register char x = 'a';
        putchar(x); // works
    }
    //putchar(x); wont work
}

或者最好不使用此功能?它是GCC编译器扩展吗?

我曾经被告知,公认的惯例是do {...} while (0);循环。确实可以安全地假设任何给定的C编译器都可以识别if语句吗?

是否仅使用一对方括号创建本地范围,这将被视为标准C? #include int main(int argc,char * argv []){{注册char x ='a'; ...

c scope curly-braces
1个回答
1
投票

是的,这是C语言支持的块范围的创建。

关于“最佳使用”部分,这取决于,当然这可能会使某些人感到困惑。

© www.soinside.com 2019 - 2024. All rights reserved.