各位少年:
今天给大家分享几个代码示例,希望能帮助能从学习的方面,帮助大家。
#include<stdio.h> int main() { int i=0,a=0,b=2,c=3,d=4; i=a++&&++b&&d++; printf("a=%d\n b=%d\n c=%d\nd=%d",a,b,c,d); return 0; }
大家可以思考一下,这段代码的最后结果是什么。
这个代码为什么结果是这样啊?明明是a++以后变成真了,为什么呢,打印的结果是这样子?
问题出来了,很显然a是先使用后++,意思是说a先于&&结果然后再++由于a是0为假所以后面不执行。
#include<stdio.h> int main() { int i = 0, a = 1, b = 2, c = 3, d = 4; i = a++ || ++b || d++; printf("a=%d\n b=%d\n c=%d\nd=%d", a, b, c, d); return 0; }
还记得我们上次所说的短路吗?再||如果有一个为真后面的不再计算,所以这个代码除了a是真变成了2其他
都没执行,好本期分享到这里,希望对大家有所帮助,亲爱的少年们。