一、if else

if else 代碼

if else 匯編
if else 就是比較。
二、switch case
以空間換時(shí)間,來提高效率。
若空間相差太大(即case后面的值相差太大),就不再用空間換時(shí)間,這時(shí)跟if else差不多了。

a=4


如果a=4,直接跳到case 4部分;
如果a的值不在范圍內(nèi),直接就跳到17行(jne 0x100000f20)執(zhí)行default部分。
switch其實(shí)是空間換時(shí)間,研究下20行到22行:

image.png
以上都是連續(xù)的數(shù)字,那么針對不連續(xù)的數(shù)字情況:

case值不連續(xù)且相差很大

當(dāng)case后面的值相差太大的時(shí)候,不會再犧牲內(nèi)存空間來換時(shí)間,這個(gè)時(shí)候跟if else差不多了。