我对 IF() 表达式后是否需要大括号感到困惑。
当使用 IF(){...}ELSE{...} 时,我习惯在 IF 和 ELSE 块周围使用大括号。
但是当我不使用 ELSE 块时,它可以在没有大括号的情况下工作,并且在有大括号的情况下失败:
工作原理: IF()...
失败: IF(){...}
下面的示例,这是针对微控制器的
#include "simpletools.h"
int main()
{
while(1)
{
print("button = %d\n", input(3));
if(input(3) == 1) //works if no braces
high(14);
pause(50);
low(14);
pause(50);
} //while
} // main
下面是一个单独的声明if
。如果需要多个语句,则必须将它们合并为一个compound陈述。
if (input(3) == 1)
high(14);
pause(50);
low(14);
pause(50);
执行两者pause
功能和low
不管什么input
返回。换行符的放置位置不会影响 C 解析代码的方式。您需要大括号将 4 个函数调用组合成一个复合语句:
if (input(3) == 1) {
high(14);
pause(50);
low(14);
pause(50);
}
不存在或存在else
条款不会改变任何东西,除了
if (input(3) == 1)
high(14);
pause(50);
else ...
会导致错误,因为else
未加入任何if
陈述;这if
以单一陈述结束high(14)
,以及pause(50)
完全是一个单独的语句,所以else
不合适。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)