求下列输出值是多少?
1.
int i = 0, a = 0, b = 2, c = 3, d = 4;
i = a++ && ++b && d++;
printf("%d,%d,%d,%d\n",a,b,c,d);
输出 a=1, b=2, c=3, d=4,进行逻辑与运算时,当前边表达式为假时,后边的表达式不用计算,其结果为假。
下来的是由此题引申的题:
2.
int i = 0, a = 1, b = 2, c = 3, d = 4;
i = a++ && ++b && d++;
printf("%d,%d,%d,%d\n",a,b,c,d);
输出 a=2, b=3, c=3, d=5
3.
int i = 0, a = 1, b = 2, c = 3, d = 4;
i = a++ || ++b || d++;
printf("%d,%d,%d,%d\n",a,b,c,d);
输出 a=2, b=2, c=3, d=4,进行逻辑或运算时,当前边表达式为真时,后边的表达式不用计算,其结果为真。
4.
int i = 0, a = 0, b = 2, c = 3, d = 4;
i = a++ || ++b || d++;
printf("%d,%d,%d,%d\n",a,b,c,d);
输出 a=1, b=3, c=3, d=4