首页 理论教育 Arduino单片机函数体及返回值的规范

Arduino单片机函数体及返回值的规范

时间:2023-10-23 理论教育 版权反馈
【摘要】:函数体以参数列表的右括号后面的大括号“{”开始,并延伸到函数的右括号“}”。这两个字符之间的所有语句构成函数体。如果函数类型说明符不是void,则函数体中至少有一条语句必须包含关键字return。编译器会发出一条错误消息。否则,需要有一个return语句,告诉编译器将什么数据类型放在背包中并返回给调用者。例如,如果你编写了:然后,编译器应该会“抱怨”你没有从函数返回值,尽管你使用了int类型说明符。

Arduino单片机函数体及返回值的规范

函数体以参数列表的右括号后面的大括号“{”开始,并延伸到函数的右括号“}”。这两个字符之间的所有语句构成函数体。

如果函数类型说明符不是void,则函数体中至少有一条语句必须包含关键字return。例如:

在本例中,函数类型说明符是int,因此函数中必须包含return语句。如果你忘记了语句:return。编译器会发出一条错误消息。你可以将return语句视为一条指令,告诉编译器将什么放回背包中。如果函数类型说明符为void,则无须在背包中放置任何东西。否则,需要有一个return语句,告诉编译器将什么数据类型放在背包中并返回给调用者。

注意,有经验的C程序员倾向于使他们的代码尽可能短。因此,程序员通常将代码编写为:

这将无须使用临时变量。(www.xing528.com)

不幸的是,Arduino C编译器让你在返回值方面有点懒惰。例如,如果你编写了:

然后,编译器应该会“抱怨”你没有从函数返回值,尽管你使用了int类型说明符。唉,除非你打开了详细的编译器消息,否则编译器对这个错误保持沉默。如果你做了以下事情,这可能会很烦人:

int number=myFunction(10);

因为某种不确定的垃圾将被分配到数字中。调试这种类型的错误可能会令人沮丧,虽然代码看起来非常简单,并且你没有从编译器获得任何调试提示。请记住:当编译器似乎在执行不存在的代码时,它就不存在了。编译器正在执行你让它执行的操作,它只是告诉你,你想做的不是它正在做的,这对你没有多大帮助。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈