在C语言中有一个很有趣的短路现象:
对于这么一个代码,很多人的第一反映的答案就是:(每一个变量都+1,最后d也是1)
即:a=1,b=2,c=3,d=1;(在C语言中0表示假,非0表示真,但是一般直接用1表示真)
但是答案真的是这样吗?我们来看一下:
可以看出答案好像并不是像我们想的那样哦;
我们再看下面这个代码:
答案是 a=2,b=2,c=3,d=1; ???
好像也不是,那再来:
答案是: a=2,b=1,c=1,d=1; ???
也不是,那这说明了什么问题呢?
这就是C语言中的短路现象。