返回介绍

4.2.1 无返回值的函数

发布于 2025-04-11 22:32:55 字数 1974 浏览 0 评论 0 收藏 0

在 C 语言中,大多数函数会通过 return 语句返回一个值,而这个返回值的类型就是在函数名之前所标明的数据类型。读者应该注意到了,这句话里我们使用是“大多”,而不是“所有”,即 C 语言中的函数也可以没有返回值。若没有返回值,那函数名之前的数据类型,该怎么写呢?很简单,用关键字“void”就可以了。

在 C 语言中,void 表示空类型。这个空类型比较抽象,初学的时候比较难以理解。大家可以简单地把这种类型想象为是一个空的、虚无的数据类型。C 语言中的其他数据类型都可以定义出一个相应的变量,然后把这个变量作为容器,往里面存入数据。而 void 是表示空的数据类型,是无法存入数据的,所以它就无法定义出对应的变量,即在 C 语言中不能出现下面这样的变量定义语句:

void a; //错误!不能定义 void 类型的变量

我们可以把 void 放在函数名的前面,用来表示这个函数是没有返回值的。那无返回值的函数可以做些什么呢?我们先来看一个案例。

4-1 】编写一个程序,由用户按顺序输入两个整数,程序能够打印输出两个整数的和。

这个案例如此简单,相信难不倒大家,分分钟代码就可以写出来。有些人为了让程序的界面更加友好,于是在获取用户输入之前,给出一个漂亮的提示信息,具体代码如下:

程序运行结果如下:

~~~~~~~~~~~~~~~~~~~~~~~
Please enter an integer:
~~~~~~~~~~~~~~~~~~~~~~~
5
~~~~~~~~~~~~~~~~~~~~~~~
Please enter an integer:
~~~~~~~~~~~~~~~~~~~~~~~
8
Result:13

程序的算法非常简单,我们就不去深究了。我们把焦点放到代码本身,通过观察,我们发现代码中两处用于提示用户输入信息的格式和内容是一致的,都是由 3 条 printf 函数调用语句构成,第 1 条和第 3 条都是为了打印一行波浪线,而中间一条是提示用户输入整数的信息。于是,我们就可以编写一个名为“showInfo”的无返回值函数,把这 3 条语句放入函数体中:

这样做有什么好处呢?第一,可以精简代码,即原先主函数中的 3 条 printf 函数调用语句,现在只需 1 条 showInfo 函数调用语句即可;第二,便于代码维护。若是突然感觉用波浪线没有短横线好看,只需要修改 showInfo 函数中的代码就可以了。若不使用自定义函数,就得到主函数中逐一修改,若是一个比较大的程序代码,可能需要修改的地方有几百上千处,那真是苦不堪言呀。使用自定义函数后的完整代码如下:

在 showInfo 函数中,将原先的波浪线修改为短横线。主函数中原先的 6 条 printf 函数调用语句,现在被 2 条 showInfo 函数调用语句代替。由于自定义函数位于函数调用语句之前,所以就不需要进行函数声明了。修改后的程序运行结果如下:

-----------------------
Please enter an integer:
-----------------------
5
-----------------------
Please enter an integer:
-----------------------
8
Result:13

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。