对于每个函数,我们都需要指定它的返回值类型。之前我们已经展示过指定int类型返回值的方法,以及如何将返回值赋值给其他变量,这对其他变量类型来说也是一样的。
虽然一个函数可能会返回一个值,但是我们也不一定要用这个值,类似于“doSomething();”这样的语句也是没有问题的,只是有时候我们可能确实忘了使用函数的返回值了。如果函数没有返回值,我们也需要指定它的返回值类型为void,这样一来,我们在函数体中就不需要添加return语句了。
接下来我们来看几个错误使用返回值的示例。
动手写7.1.7
动手写7.1.7展示了两种错误使用返回值为void的函数的情况,编译器会报出如图7.1.6所示的错误:
图7.1.6 错误使用返回值为void的函数
我们可以看到,在doNothing()函数定义的函数体中我们添加了return语句,这与void的返回值类型不匹配。而在main()函数中我们也将doNothing的返回值赋值给了num,这显然也是不行的。不过返回值为void的函数也可以用“return;”这样的语句提前退出函数,而不会返回任何实际数值。
动手写7.1.8
(www.xing528.com)
动手写7.1.8展示了返回值为void的函数的提前返回,运行结果如图7.1.7所示:
图7.1.7 返回值为void的函数的提前返回
我们可以看到,doNothingForOne()函数在参数为1的时候将会直接返回,而不执行后面的打印语句。这里的return只提供了跳转的功能,而并不会返回任何值。
动手写7.1.9
动手写7.1.9展示了关于返回值为int的函数的错误,编译器会报出如图7.1.8所示的错误:
图7.1.8 返回值为int的函数的错误
在函数定义中我们只定义了一个变量,但没有将其返回,由于函数的返回值类型不是void,这样编译器会报错。不过在main()函数中有些编译器会忽略没有返回值的情况而不报错。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。