1.4分支結構程式設計(短路運算,三數排序)

封霸業於狼居胥發表於2020-10-18

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三整數排序

#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;
}

相關文章