版本声明:本文转载于公众号TeachPlus
C语言面试题---逻辑短路问题
写出下面程序的输出
#include<stdio.h>
int main()
{
int a=5,b=6,c=7,d=8,m=2,n=2;
(m=a<b)||(n=c>d);
printf("%d\t%d",m,n);
return 0;
}
本题答案
答案为1,2
本题解析
本题的考察重点在于逻辑运算符的短路问题。
在逻辑判断中,常常需要判断多个条件,如:
if A and B;
这时,当A为false时,无论B值是什什么,结果都为false,
所以可以不用判断B,直接跳过。这种情况称为逻辑短路路。
逻辑短路有许多应用,如
if(name != NULL && name.equals("admin"))
{
//do somethings
}

本文探讨了C语言面试中关于逻辑运算符短路问题的一个实例,解释了逻辑短路的原理及其在避免空指针异常和简化代码中的作用。通过示例分析了逻辑或和逻辑与的短路行为,并给出了一道涉及递归和逻辑短路的微软面试题。
最低0.47元/天 解锁文章
6万+

被折叠的 条评论
为什么被折叠?



