- 逻辑运算符&&,||的“短路问题”
先看一个例子:
int main(void)
{
int x, y;
x=y=0;
x || ++y;
printf("%d,%d\n",x,y);
x=y=0;
x && ++y;
printf("%d,%d\n,x,y");
}
输出结果:0,1 及 0,0
在(x && ++y)语句中,机器执行此语句时,由于x=0 为假,无论后面语句为真还是假,此语句结果皆为假,所以,++y并没有执 行。||语句同理,这就给我们一个注意点,在使用&&或者||语句一定要注意语句的真实逻辑关系,这个问题,尤其在单片机开发中尤为重要。
- 分号的使用
C语言中一定要注意分号的使用,如:
if(x>b) b=x;
如果多加分号:
if(x>b); b=x;
则变为:b=x,无论任何时候都执行;if的判断语句只是执行了一个空语句。
评论 (0)
暂无评论,快来抢沙发吧!