手机浏览器扫描二维码访问
我和小弦子兴致冲冲地打开了各自电脑上的编辑器,按照老爹刚才所将的内容,依葫芦画瓢定义了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);
...
沈初菡当了十五年的小傻子,结果竟然被水果给噎清醒了!听说吃水果竟然会中毒?这种事对于她这个农科院研究专员来说,真是孰不可忍!为了改变大秦百姓的想法,她以身涉险,躺在地里美美的啃了十亩田的草莓!什么?那小傻子吃了草莓变聪明了?快!速速大量购买草莓!一时之间,付家店铺门庭若市。那小傻子又研究出了芒果?快!给爷取一百斤来!于是付家又挤破了头。沈初菡凭一嘴之力改变了大秦的风向!众人只知她吃水果百吃不死,却没想到身后有一人甘愿为她试毒。娘子,这水果看起来饱满,不知道吃起来会不会和娘子一样甜?沈初菡狠狠在他耳边咬了一口试试不就知道了?...
追查了许久的谋杀案终于告破。凉婵得意洋洋的对着自己的属下说这世上没有破不了的案子,就像这世上没有追不到的男人。属下们立马露出了崇拜神情。被追到的男人静静的坐在一边,抬头淡淡的看她一眼人在说谎的时候,眼球会在无意识的情况下向左上方移动半寸,你刚才,移动了两次。年少时的爱恋,牵出一生的纠缠。钢铁傲娇女刑警与忠犬禁欲男教授的爱情故事。智商与感情齐飞。来一场烧脑的破案之旅。本文推理言情又名谁念西风独自凉...
阎王要你三更死,我能留人到五更,上门入赘只是韬光养晦,今十年之期已到,杀人的剑也该亮出来了...
全城惊闻!傅家大少竟娶了个傻子当傅太太,人人都等着看他们什么时候离婚收场,结果傅大少却把傻子宠上了天。傅太太每天只想吃饭睡觉赚大钱,傅大少每天跟在后面大把大把给傅太太撒钱,连眼皮都不抬一下。某日,云雨过后,傅太太扒着矜贵男人老公,我们离婚吧。傅大少骗够了我的钱就想甩了我?天底下哪有白吃的午餐?傅太太怒,每天胡搅蛮缠求离婚,众人惊诧,傅大少却云淡风轻乖,别闹。...
传闻,赫赫有名的薄家九爷,娶了个乡下来的粗鄙丫头。无数名媛千金,挤破脑袋,想把宋星凉拉下马。谁料,宋星凉一袭男装,直接把众名媛的魂儿都给勾没了。助理九爷,夫人又赚了十个亿,今晚要带妹子去会所开庆功宴,不回家。薄夜沉司机九爷,夫人约几位小姐去做SPA,据说,还要共浴,泡温泉。薄夜沉管家少爷,夫人说要去中东,拯救世界,早上已经收拾行李走了。薄夜沉忍无可忍,...