求解求解對(duì)你們來(lái)說(shuō)應(yīng)該很簡(jiǎn)單的
以下代碼的目的就是讓程序第一次執(zhí)行if第二次執(zhí)行else,但他不是已經(jīng)在for語(yǔ)句前把b給定成false了嗎?隨后的if(b=!b)不就是true嗎?那么這個(gè)程序是怎么執(zhí)行到if的呢?b明明已經(jīng)沒法變了
以下代碼的目的就是讓程序第一次執(zhí)行if第二次執(zhí)行else,但他不是已經(jīng)在for語(yǔ)句前把b給定成false了嗎?隨后的if(b=!b)不就是true嗎?那么這個(gè)程序是怎么執(zhí)行到if的呢?b明明已經(jīng)沒法變了
2017-06-11
舉報(bào)
2017-06-11
b的值可以變啊,false只是他的初值;if(b=!b)這句代碼每執(zhí)行一次都將b值取反再賦值給b(即b在false和true不斷變化)。
2017-06-11
中間的代碼 ?if(b = !b)的意思是把 b 取反 (false 變成 true 或者 true?變成 false)然后在把值賦給b 然后再把賦值之后的b 當(dāng)做判定條件看是執(zhí)行if語(yǔ)句還是else語(yǔ)句,你的圖片的意思就是第一次執(zhí)行if 然后執(zhí)行else 然后if ... else...這樣反復(fù)的執(zhí)行下去
2017-06-11
for循環(huán)中第一次執(zhí)行到if判斷處時(shí),因?yàn)樽兞縝為false,故第一次不執(zhí)行if里面的語(yǔ)句;緊接著b就被賦值為true,等下一次循環(huán)時(shí)就會(huì)執(zhí)行if里面的語(yǔ)句,如此循環(huán)往復(fù)。