1-11短路运算
int a=1, b=2, c=3, d=4, m=1, n=1;
(m=a>b)&&(n=c>d);
cout << m << n << endl;
对于&&,如果左侧为假,不计算右侧
对于| | , 如果左侧为真,不计算右侧
输出n=1(即不被n=c>d赋值),虽然3>4为假,但左假,短路,跳过。
1-12三整数排序
先使a最小,再比较b和c。
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main()
{
int a, b, c,t;
scanf("%d%d%d",&a,&b,&c);
if (a > b) { t = a; a = b; b = t; } //执行完之后,a<=b
if (a > c) { t = a; a = c; c = t; } //执行完之后,a<=c,且a<=b仍成立
if (b > c) { t = b; b = c; c = t; } //执行完之后,b<=c
printf("%d %d %d", a, b, c);
return 0;
}