記錄 C 語言初學階段的兩個經典小程式:1000-2000 年閏年統計、兩變量交換(臨時變量法 vs 異或法)。
#include <stdio.h>
int main() {
int year, count = 0;
for (year = 1000; year <= 2000; year++) {
if ((year % 4 == 0 && year % 100 != 0) || (year % 400 == 0)) {
printf("%d ", year);
count++;
}
}
printf("\ncount=%d\n", count);
return 0;
}
規則:能被 4 整除但不能被 100 整除,或能被 400 整除。輸出 1000-2000 年間所有閏年及總數。
int tmp = a; a = b; b = tmp;
a = a + b; b = a - b; a = a - b;
a ^= b; b ^= a; a ^= b;
原理:a^b^b = a,a^b^a = b。注意:a、b 必須不同地址,若 &a == &b 會清零。
&& 高於 ||)。