c语言短路效应是什么?
void main()
{
int a = 0;
int b = 2;
a&&b++;
printf("%d,%d", a, b);
getchar();
}
短路效应,有一个不符合条件,后面就懒得检测。这句话是什么意思?
c语言短路效应是什么?
void main()
{
int a = 0;
int b = 2;
a&&b++;
printf("%d,%d", a, b);
getchar();
}
短路效应,有一个不符合条件,后面就懒得检测。这句话是什么意思?
如果
a
是FALSE
,那么,无论b
是什么,a&&b++
返回值都是FALSE
,没有必要再计算后边的表达式了,所以不需要再执行
b++
了。当然,其他语言里可以规定要计算
b++
,但是 C 语言就是这样规定的,至于这样做好不好,就不好说了。