为什么 C 语言要求在 if 语句中围绕简单条件进行 parens?
2022-09-01 12:45:45
这听起来很愚蠢,但多年来,我无法提出一个需要这个的用例。快速的谷歌搜索没有发现任何有价值的东西。
从记忆中可以看出Bjarne Stroustrup提到的一个用例,但我找不到对它的引用。
那么为什么你不能在C语言中拥有这个:
int val = 0;
if val
doSomehing();
else
doSomehinglse();
我可以接受“我们不能为词法分析器添加支持而烦恼”的原因,我只是想弄清楚这种语法是否破坏了其他语言结构。考虑到C / C++中有多少古怪的语法功能,我几乎不认为这会增加很多复杂性。