1、a&&5/a可以避免處以0的錯(cuò)誤, r = j ? i/j : div_zero()也可以
2、p&&*p++不會導(dǎo)致間接引用空指針
3、!x^y 等價(jià)于x==y
4、由于每個(gè)小寫字母的ASCII值比對應(yīng)大寫字母大32,要將小寫字母轉(zhuǎn)換為大寫字母需要將第六位設(shè)為0,所以可以用
ch &=223
將小寫字母轉(zhuǎn)換為對應(yīng)大寫字母(當(dāng)然也可以直接減去32);
而將大寫字母轉(zhuǎn)換為對應(yīng)小寫字母,需要將第六位設(shè)為1,所以可以用
ch |= 32
將大寫字母轉(zhuǎn)換為對應(yīng)小寫字母(當(dāng)然也可以直接加32)