我是一名计算机科学专业的学生,前段时间我们的教授向我们解释说,在 C 语言中,当只有一个语句时,我们可以删除大括号,例如:
if (a)
do b
但我们不能这样做:
if(a)
do b
do c
因为那会做不止一个声明。
但它也告诉我们,删除大括号是有例外的,即使只有一个语句,我们也无法做到这一点。我做了很多搜索,但我发现的唯一一件事是我不能在 do-while 循环中做到这一点,但我们正在讨论 if 语句,有什么帮助吗?
编辑:我们还讨论了嵌套的 if 语句,也许就是这个?
您教授可能正在谈论这样的情况:
if (a)
if (b)
printf("a and b\n");
else // this goes with the inner "if"
printf("not a\n");
与缩进所暗示的相反,else
与外部没有关联if
声明但带有内在if
陈述。在这种情况下,您需要将花括号添加到外部的主体中if
为了else
正确关联:
if (a) {
if (b)
printf("a and b\n");
}
else
printf("not a\n");
最好始终对条件和循环结构的主体使用大括号,以防止这种歧义以及随之而来的错误。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)