第二十五章 輪回法則(下)
「這不是很簡單么?有什么不好分不清楚的?」
看了老爹的代碼后,我感覺智商受到了蔑視,有些不服氣地說道。
「既然如此,那就手下見真章,請問:
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 4; j++)
{
break;
}
}
中的break是結(jié)束的哪個for的輪回?」
老爹聞言后率先發(fā)難。
我自然是不甘示弱道:「顯然是int j那個for,這個傻子都能夠看出來好么?break離那個for近一些。任先生,能不能來點有難度的?」
我無比得意地說道,也不知道哪來的自信開始挑釁老爹。
「既然如此,那就手下見真章,聽題:
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 4; j++)
{
}
break;
}
這次break是停止的哪個for?」
老爹不以為意,面對我的挑釁根本就笑了笑,像極了電視劇中那些宗師級別的高人面對那些自以為是的晚輩后學(xué)的那種風(fēng)輕云淡。
但是說實話,這種風(fēng)輕云淡有點讓人抓狂,忍不住將珍藏多年的鞋底板印在他們臉上。
「哼,老爹,你就這點實力了么?我還沒有出全力呢!」
此時,我已經(jīng)陷入迷之自信當(dāng)中,大概就有點類似有小說中掉下山崖沒有摔死,反而得到了絕世武功秘籍,苦練三個月后出來要吊打一切的主角。
「我真是不知道,這個有什么好分不清楚的,你用手指母比也曉得break離那個int j的for近嘛。哎呀,我真的是服了,就這,居然還有人搞不清楚的?!?p> 我現(xiàn)在是何等的不可一世,以至于很久之后我想起這時的情景,還忍不住臉上發(fā)燒。
「看看把你能的!」
見老爹并沒有反駁我,于是我堅定地認為自己回答對了,囂張的氣焰頓時升騰到了極點。
「唉~,難道就沒有稍微有難度的么?」
我猶如世外高人一般背起了雙手,故作老成地嘆了一口氣,臉上表現(xiàn)出一副「高處不勝寒」的寂寞,就差沒有直接唱「無敵是多么寂寞」了。
「那這個呢?
for(int i = 0; i < 5; i++)
{
break;
for(int j = 0; j < 4; j++)
{
}
}」
老爹毫不在意,似笑非笑地拋出了最后一個問題。
「很顯然是……」
我剛要說,突然發(fā)現(xiàn)這兩個for好像離那個break都挺近的,不管回答哪一個好像都不對,如果兩個一起答更不可能是對!于是事情的真相就只有一個了,我先前理解的是錯的!那么剛剛我……
想到這里,我的臉上忍不住開始發(fā)燒,如果灑點水可能會冒煙的那種。
「是哪個呀?是不是手指母不好比?要不要我給你那個直尺過來,你給好好量量?」
看著老爹似笑非笑的模樣,再加上這字字誅心的三連問,我?guī)缀跻呀?jīng)肯定是我錯了。
我瞬間如同泄了氣的皮球,等待來自老爹的嘲諷。
有句話怎么說的來著?爬得有多高,摔得有多慘。
「我說的離那個最近不是指的距離,而是看這個break是在哪個for的輪回內(nèi)容中。
第一個問題break在int j的輪回內(nèi)容中,所以它離這個for近,停止是這個for的輪回。而第二和第三個問題中,break都是在int i的輪回內(nèi)容中,所以離它最近的其實是這個for,特別是第三個,int j的那個for根本就沒有機會執(zhí)行?!?p> 老爹絲毫沒有責(zé)備或者嘲笑我的意思,依舊用他那平和的聲音給我認真的解釋道。
但是我反而覺得這看似平和的聲音中卻蘊含著某種神奇的魔力,將某些東西深深地刻在了我的心上。
在今后的人生歷程里,有好多次我取得成就、得意忘形之際,剛才的場景就會浮現(xiàn)在我的眼前,讓我冷靜下來,開始重新思量一切。
老爹輕輕地揉了揉我的頭發(fā),笑著沒有說話,但我卻有種他知道我心中在想什么的感覺。
我覺得老爹好像跟我認識的小伙伴他們的爸爸都不一樣,他們的爸爸要么對他們?nèi)f分寵愛,有求必應(yīng)。
有的是嚴格得跟什么似的,讓人喘不過氣來。
還有那種仇人模式,相看兩相厭的。
但老爹不屬于任何一類,他就像是一個大伙伴,有什么問題都能跟他說,而且他也能解決,但是他又知道我們小孩兒的心思。
平等,我只能想到這個詞語來形容和老爹的相處模式。我雖然作為一個小孩兒,但是我的想法卻會得到充分的尊重。
可能正是因為這樣,老爹特別招小朋友喜歡。就連小弦子那種性格孤僻,不易相處的小孩兒都能和老爹融洽相處。
在我自我檢討完成后,老爹又繼續(xù)了他的課程。
「相比break,continue的能耐就稍微小一些了,它的作用是提前結(jié)束本次輪回,繼續(xù)下一次輪回,舉個栗子:
for(int i = 0; i < 10; i++)
{
if(i == 2)
{
continue;
}
}
當(dāng)輪回執(zhí)行到i的值為2時,會進入if然后遇到continue后轉(zhuǎn)頭就跑,直接執(zhí)行輪回變數(shù),然后進行下一次輪回。如果在if后面還有其他的內(nèi)容,這部分內(nèi)容就不會被執(zhí)行。
continue和break一樣,總是在作用在離它最近的for或者while。
在使用for和while的時候一定要注意輪回條件,如果這個條件永遠成立的話,那么for和while就會一直輪回下去,因為它們會讓時間停止,所以在它們后面的代碼永遠都得不到執(zhí)行。
還有就是什么時候用for什么時候用while,其實它們本可以相互替換,你看怎么方便怎么用就好了。一般我們知道明確的輪回次數(shù)時用for,不知道具體次數(shù),但知道輪回結(jié)束的條件時用while。
至此,你已經(jīng)掌握了C語言的最重要的法則之一——輪回法則。
還有一開始學(xué)習(xí)的取名法則(標識符)、五行法則(算術(shù)運算符)、數(shù)學(xué)上學(xué)過的關(guān)系法則(關(guān)系運算符)以及自學(xué)的邏輯法則(邏輯運算符)。
再加上之前打敗了葫蘆娃兄弟(七種基本數(shù)據(jù)類型)、if和switch獲取了不少經(jīng)驗。
關(guān)鍵是還獲取了下品神器——乾坤袋(數(shù)組),所以無論從哪方面來說,你已經(jīng)脫離了萌級小菜鳥的范疇,升級成為了一名小菜鳥。
編程一途道阻且長,老爹我希望你戒驕戒躁,砥礪前行,最終成為翱翔天際的神鷹。」
聽著老爹如數(shù)家珍般將我學(xué)過的知識一一羅列出來,我備受鼓舞,一股自豪感和愉悅感油然而生。原來在不知不覺中,我已經(jīng)學(xué)習(xí)了這么多的東西。