C語言為什么for不執(zhí)行?
C語言為什么for不執(zhí)行?
一個表達(dá)式為初始化
第二個表達(dá)式為判斷
第三個表達(dá)式為調(diào)整
如圖所示,這是一種最常見,同樣的,在這個循環(huán)當(dāng)中同樣的也能使用到continue和break關(guān)鍵字最近很多小伙伴找我,說想要一些C語言學(xué)習(xí)資料,然后我根據(jù)自己從業(yè)十年經(jīng)驗(yàn),熬夜搞了幾個通宵,精心整理了一份「C語言入門到高級教程+工具包」,點(diǎn)個關(guān)注,全部無償共享給大家!??!
評論區(qū)回復(fù)“888”,關(guān)注我之后私信回復(fù)“666”,即可拿走。
在上面的代碼中,當(dāng)i=5的時候都分別跳過和中斷循環(huán) ,
for循環(huán)和while循環(huán)還是有區(qū)別的,while循環(huán)的調(diào)整部分是寫在了循環(huán)語句當(dāng)中,而for循環(huán)的調(diào)整部分是放在了表達(dá)式當(dāng)中,既能保證每次都能進(jìn)行循環(huán)。
在這種情況中,i和j的初始化并沒有寫在括號能,就可能會導(dǎo)致循環(huán)只會執(zhí)行一次
分析:
當(dāng)i=0的時候,然后執(zhí)行嵌套循環(huán),這個時候j=0,按照條件循環(huán)三次
之后當(dāng)i自增后為1,執(zhí)行嵌套循環(huán),而此時的j已經(jīng)不再是0了,而是3,所以并不會執(zhí)行循環(huán),直接跳出,之后就是同樣的情況
而這種情況的產(chǎn)生是由于在for循環(huán)括號內(nèi)部沒有初始化而導(dǎo)致的結(jié)果
在這種情況中,是由于判斷條件發(fā)生了變化,之所以沒有打印出k的原因是并沒有執(zhí)行循環(huán)
因?yàn)檫@個判斷條件是將0賦值給k,而并不是判斷k是否等于零,
賦值之后由于k是0,所以判斷結(jié)果為假,結(jié)束循環(huán)。