「这不是很简单么?有什么不好分不清楚的?」
看了老爹的代码后,我感觉智商受到了蔑视,有些不服气地说道。
「既然如此,那就手下见真章,请问:
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 4; j++)
{
break;
}
}
中的break是结束的哪个for的轮回?」
老爹闻言后率先发难。
我自然是不甘示弱道:「显然是int j那个for,这个傻子都能够看出来好么?break离那个for近一些。任先生,能不能来点有难度的?」
我无比得意地说道,也不知道哪来的自信开始挑衅老爹。
「既然如此,那就手下见真章,听题:
for(int i = 0; i < 5; i++)
{
for(int j = 0; j < 4; j++)
{
}
break;
}
这次break是停止的哪个for?」
老爹不以为意,面对我的挑衅根本就笑了笑,像极了电视剧中那些宗师级别的高人面对那些自以为是的晚辈后学的那种风轻云淡。
但是说实话,这种风轻云淡有点让人抓狂,忍不住将珍藏多年的鞋底板印在他们脸上。
「哼,老爹,你就这点实力了么?我还没有出全力呢!」
此时,我已经陷入迷之自信当中,大概就有点类似有小说中掉下山崖没有摔死,反而得到了绝世武功秘籍,苦练三个月后出来要吊打一切的主角。
「我真是不知道,这个有什么好分不清楚的,你用手指母比也晓得break离那个int j的for近嘛。哎呀,我真的是服了,就这,居然还有人搞不清楚的。」
我现在是何等的不可一世,以至于很久之后我想起这时的情景,还忍不住脸上发烧。
「看看把你能的!」
见老爹并没有反驳我,于是我坚定地认为自己回答对了,嚣张的气焰顿时升腾到了极点。
「唉~,难道就没有稍微有难度的么?」
我犹如世外高人一般背起了双手,故作老成地叹了一口气,脸上表现出一副「高处不胜寒」的寂寞,就差没有直接唱「无敌是多么寂寞」了。
「那这个呢?
for(int i = 0; i < 5; i++)
{
break;
for(int j = 0; j < 4; j++)
{
}
}」
老爹毫不在意,似笑非笑地抛出了最后一个问题。
「很显然是……」
我刚要说,突然发现这两个for好像离那个break都挺近的,不管回答哪一个好像都不对,如果两个一起答更不可能是对!于是事情的真相就只有一个了,我先前理解的是错的!那么刚刚我……
想到这里,我的脸上忍不住开始发烧,如果洒点水可能会冒烟的那种。
「是哪个呀?是不是手指母不好比?要不要我给你那个直尺过来,你给好好量量?」
看着老爹似笑非笑的模样,再加上这字字诛心的三连问,我几乎已经肯定是我错了。
我瞬间如同泄了气的皮球,等待来自老爹的嘲讽。
有句话怎么说的来着?爬得有多高,摔得有多惨。
「我说的离那个最近不是指的距离,而是看这个break是在哪个for的轮回内容中。
第一个问题break在int j的轮回内容中,所以它离这个for近,停止是这个for的轮回。而第二和第三个问题中,break都是在int i的轮回内容中,所以离它最近的其实是这个for,特别是第三个,int j的那个for根本就没有机会执行。」
老爹丝毫没有责备或者嘲笑我的意思,依旧用他那平和的声音给我认真的解释道。
但是我反而觉得这看似平和的声音中却蕴含着某种神奇的魔力,将某些东西深深地刻在了我的心上。
在今后的人生历程里,有好多次我取得成就、得意忘形之际,刚才的场景就会浮现在我的眼前,让我冷静下来,开始重新思量一切。
老爹轻轻地揉了揉我的头发,笑着没有说话,但我却有种他知道我心中在想什么的感觉。
我觉得老爹好像跟我认识的小伙伴他们的爸爸都不一样,他们的爸爸要么对他们万分宠爱,有求必应。
有的是严格得跟什么似的,让人喘不过气来。
还有那种仇人模式,相看两相厌的。
但老爹不属于任何一类,他就像是一个大伙伴,有什么问题都能跟他说,而且他也能解决,但是他又知道我们小孩儿的心思。
平等,我只能想到这个词语来形容和老爹的相处模式。我虽然作为一个小孩儿,但是我的想法却会得到充分的尊重。
可能正是因为这样,老爹特别招小朋友喜欢。就连小弦子那种性格孤僻,不易相处的小孩儿都能和老爹融洽相处。
在我自我检讨完成后,老爹又继续了他的课程。
「相比break,ue的能耐就稍微小一些了,它的作用是提前结束本次轮回,继续下一次轮回,举个栗子:
for(int i = 0; i < 10; i++)
{
if(i == 2)
{
ue;
}
}
当轮回执行到i的值为2时,会进入if然后遇到ue后转头就跑,直接执行轮回变数,然后进行下一次轮回。如果在if后面还有其他的内容,这部分内容就不会被执行。
ue和break一样,总是在作用在离它最近的for或者while。
在使用for和while的时候一定要注意轮回条件,如果这个条件永远成立的话,那么for和while就会一直轮回下去,因为它们会让时间停止,所以在它们后面的代码永远都得不到执行。
还有就是什么时候用for什么时候用while,其实它们本可以相互替换,你看怎么方便怎么用就好了。一般我们知道明确的轮回次数时用for,不知道具体次数,但知道轮回结束的条件时用while。
至此,你已经掌握了C语言的最重要的法则之一——轮回法则。
还有一开始学习的取名法则(标识符)、五行法则(算术运算符)、数学上学过的关系法则(关系运算符)以及自学的逻辑法则(逻辑运算符)。
再加上之前打败了葫芦娃兄弟(七种基本数据类型)、if和switch获取了不少经验。
关键是还获取了下品神器——乾坤袋(数组),所以无论从哪方面来说,你已经脱离了萌级小菜鸟的范畴,升级成为了一名小菜鸟。
编程一途道阻且长,老爹我希望你戒骄戒躁,砥砺前行,最终成为翱翔天际的神鹰。」
听着老爹如数家珍般将我学过的知识一一罗列出来,我备受鼓舞,一股自豪感和愉悦感油然而生。原来在不知不觉中,我已经学习了这么多的东西。