3 回答

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
for執(zhí)行的順序我就不多解釋了。簡(jiǎn)單的帶過(guò)
進(jìn)入for循環(huán)的時(shí)候首先執(zhí)行的是foo('A')這里輸出A
其次執(zhí)行foo(‘B’)輸出B返回為真,判斷I是不是小于2(i=0小于2)為真
執(zhí)行i++;
執(zhí)行foo(‘D’);輸出D;
執(zhí)行foo('C');輸出C
第一次循環(huán)結(jié)束,開(kāi)始第二次循環(huán)
第二次循環(huán)就不再執(zhí)行foo(‘A’);
沖foo(‘B’)開(kāi)始,輸出B返回真,判斷I是不是小于2(i=1小于2)為真
執(zhí)行i++;
執(zhí)行foo(‘D’);輸出D
執(zhí)行foo(‘C’)輸出C
第二次循環(huán)結(jié)束
第三次開(kāi)始
執(zhí)行foo(‘B’)輸出B返回真判斷I是不是小于2(i=2不于2)為假循環(huán)結(jié)束
所以輸出為ABDCBDCB

TA貢獻(xiàn)1780條經(jīng)驗(yàn) 獲得超4個(gè)贊
循環(huán)的時(shí)候先調(diào)用foo('A')輸出A 然后看條件調(diào)用foo('B')輸出B 并且滿足了i<2 所以執(zhí)行循環(huán)體內(nèi)部的 就是i++ 調(diào)用foo('D')輸出D 下一步執(zhí)行foo('C')輸出C 因?yàn)闈M足循環(huán)條件,所以繼續(xù)執(zhí)行foo('B')&&(i=1)<2,輸出B,滿足條件再次進(jìn)入循環(huán)i++ 調(diào)用foo('D')輸出D,接著執(zhí)行foo('C'),然后再判斷條件foo('B')輸出B&&(i=2)<2不成立 循環(huán)退出。輸出結(jié)果為ABDCBDCB
for(int i=0;i<2;i++)和這個(gè)對(duì)比一下就能看出來(lái)了,就是循環(huán)順序的問(wèn)題。

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊
for ( foo('A'); foo('B')&&(i <2); foo('C'))
在這循環(huán)中,第一個(gè);號(hào)前面的條件始終只執(zhí)行一次
所以首先打印A,然后會(huì)判斷第2個(gè)條件
會(huì)打印B,并且i<2所以執(zhí)行循環(huán)里面的條件
打印D,退出循環(huán),結(jié)果打出ABD
第2次循環(huán)首先打印C
因?yàn)閒or循環(huán)種第2次都是先執(zhí)行第2個(gè);后條件
好比f(wàn)or(int i=0;i<100;i++)他第2次是從i++開(kāi)始執(zhí)行;
然后判斷第一個(gè);后的條件,滿足條件就執(zhí)行代碼
所以打印BD
第3次先打印C,判斷條件打印B 因?yàn)閕=2所以循環(huán)退出
添加回答
舉報(bào)