手机浏览器扫描二维码访问
我和小弦子兴致冲冲地打开了各自电脑上的编辑器,按照老爹刚才所将的内容,依葫芦画瓢定义了add函数。
「呀!编译出错了!」
我确认了一边代码的书写应该没有错,然后凑近小弦子的屏幕看了看他那边的情况,没想到小弦子那边居然没有出任何问题,编译成功了!
这是怎么回事?
借住翻译软件,我大概弄明白了错误信息,原来是我定义函数的地方有误。
通过对比我和小弦子的代码,我发现自己定义函数的位置在main函数中,而小弦子定义在main函数之外。
「在c语言中,一个函数是不能定义在另外一个函数之内的!」
老爹不着痕迹地看了我的代码一眼,瞬间就看出了问题所在。
「原来是这样!」
我在心里说了一声,然后就将代码剪切粘贴到main函数后边,至于为什么是后边嘛,因为小弦子放在前边的,我可不想和他一样。
这回编译倒是通过了,但是报了一个警告信息:「implicitdeclarationoffunctionadd」
意思是函数add隐式声明。
这让我一头雾水,隐式声明又是个什么鬼意思?关键是小弦子那边什么信息都没有输出!难道问题出在顺序上面?
我在心中暗自狐疑,因为现在我和小弦子的代码唯一不同的地方就是定义main函数和add函数的位置不一样。小弦子那边add函数定义在main函数前,而我定义在main函数后边。
为了验证心中的猜想,于是我又将它们的顺序调换了一下,警告信息果然消失了!
我运行了一下,程序得到了预期的结果,证明逻辑是没有问题的。
接着我又将mian和add顺序恢复到原来的样子,再次编译,警告信息果然又出现了。我尝试着运行程序,居然也得到了正确的结果!
「刚才我就说了,在使用一个函数之前,必须要先声明它,否则就会报『implicitdeclarationoffunctionadd』警告。所以我们在main函数中使用add函数,就应该在main函数之前声明add。
当然了,如果在程序中我们压根就没有定义这么一个函数,除了会有这句警告之外,还会有一个错误:『undefinedreferencetoadd』」
我试了一下,果真如同老爹所言。
「那为什么我在main函数后面声明add,程序运行的结果依旧是对的呢?」
「这个就是c语言不严谨的地方了,以后随着你们逐渐深入了解c语言,其实类似这样的问题还有很多。所以后来的c对这些问题进行了修复,整个体系就更为严谨、标准化。」
老爹笑了笑。
「哦,好吧!原来那些开发c语言的科学家也会有bug的时候啊!」
「当然了,我之前都给你说过了,无论是技术多么牛的程序员,都不可能排着胸脯说自己的程序没有任何的bug,特别是软件体系特别庞大的时候。
其实刚刚那个问题,add也不是不可以放在main函数后面,如果我们把函数的声明和实现分开的话就行了。
函数的定义分为声明和实现两个过程,你们现在写的这种形式是将两个过程融合在一起了,如果我们把add的声明放在main函数前边,定义放在后边就不会有警告信息了,就像这个样子:
intadd(inta,intb);
intmain(intargc,charconst*args[])
{
intsum=add(a,b);
四龙攒凤 嗣子荣华路 顾九辞霍明澈 我的蛮荒部落 异界烽火录贰烽云再起 夫人的病今天好了吗 上门龙婿陆凡 最强豪婿陆凡 迟宠 阴阳眼小师妹 青梅千千结 王妃称心 大佬甜妻宠上天 衫生诡 张钟颖 韩娱之聚光 龙婿陆凡 校园全能马甲女神 梦灾末世生存指南 戚风童话
京陵城爆出一条大消息,头号小公子洛长安,当街揍了新帝一顿,换做旁人,那可是掉脑袋的事儿,可咱洛公子不怕,咱爹是当朝重臣,人送外号奸贼!洛长安被带进了宫,天下人皆哗然,丞相府作威作福的日子快过去了,大权被收回的日子也不远了,所有人都等着新帝把洛家的独苗苗弄死。谁知皇上,洛公子钻狗洞出宫。不急!皇上,洛公子在后宫调戏诸娘娘。不急!皇上,洛公子与安乐王,饮酒作乐。...
因被亲生母亲算计,她和陌生男人四年后,一对龙凤胎闪亮登场。陆余情忙着赚奶粉钱,每天忙得不可开交。厉少忙着追陆余情,花样百出,十八般武艺都用上。外界哗然,不是说厉少不近女色,清心寡欲,冷情无趣吗?大宝出来澄清,我爹地多情有趣,每天忙着和妈咪造娃娃。二宝也跟着澄清,我爹地说要给我们生三个弟弟妹妹!陆余情吓得魂不附体,连夜潜逃。厉少将人拦了回来,如今外界都知道,你要给我生三个娃,得坐实了这个传闻。陆余情欲哭无泪,从此夜夜笙歌,不消停。...
嫁入豪门,三年不孕。在她终于治好不孕症准备为他生下一个孩子的时候,他竟然高调地带着怀孕的小三登堂入室,既然生不出来,你就滚蛋,难道你想让我们莫家绝后。她的婆婆无比恶毒地骂她我已经签字了,你想通了就走吧!,她的老公无情地将一纸离婚协书甩到她的脸上。后来听说夜城有两个男人为了抢回他们的妻子,在广场上赤手空拳大打出手!而另外一边是两个宝宝为了争夺妈咪,在地上纠缠厮打!...
不小心碰瓷了傲娇帝少肿么破?在线等,挺急的!...
随风开新书了,书名血弦书号1042461蹉跎完本了,有朋友说草率,也有朋友说太仓促,不过,随风在此声明,蹉跎的大纲确实是写到这里截止,其实后面也有部分情节,不过,大家真觉得王平一个个基地灭过去,然后太岁来个新旧版大对决,最后全人类毁灭,无奈之下前往火星这样的罗嗦情节有意思吗?随风觉得没有,真的,没有。当断就断,当杀就杀。总之,随风开新书了,书名血弦书号1042461蹉跎上架后也终于...
十年前,他被迫逃出豪门世家,从此颠沛流离,惶惶如蝼蚁,人尽可欺。直到那一天,他拨通了那个熟悉又陌生的号码。你若执我之手,我必许你万丈荣光...