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