![C++ 从入门到项目实践(超值版)](https://wfqqreader-1252317822.image.myqcloud.com/cover/805/26846805/b_26846805.jpg)
2.7 C++函数
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P34_6396.jpg?sign=1739205592-SxOsSP50zfUGOJsebuITk20Q8WLxrb6i-0-9d6bbda5599a0d168931173488298967)
函数能够将应用程序划分成多个功能单元,并且通过选择实现调用。在函数被调用时,通常会有一个值返回给调用它的函数。
【例2-3】编写程序,完成一个函数的调用。
(1)在Visual Studio 2017中,新建名称为“2-3.cpp”的Project3文件。
(2)在代码编辑区域输入以下代码。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P34_6399.jpg?sign=1739205592-TI8CjLDA0E6cauoIHhKbtp8ewcVqPcQl-0-3af478976d72f6aa3051d2f19863442f)
【程序分析】本例中定义了一个函数,其函数名为fun(),返回类型为int,展现了声明函数,调用函数,最后输出结果的过程。这个函数简单演示了cout的功能,既可以显示文本,还可以显示简单算术运算的结果。
在Visual Studio 2017中的运行结果如图2-3所示。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P34_6393.jpg?sign=1739205592-Gpx5ahylApdj2xIOb0bGwRzTsBDL9CFC-0-e45a98efe1223861a432b34ca56a778a)
图2-3 程序运行结果
因为在定义函数fun()的类型时是int整型,所以fun()函数必须返回一个整数(这里返回的是0)。同样,main()函数也返回0。但是,由于main()函数将其所有的任务都交给了函数fun()去完成,所以更明智的做法是在main()函数中返回该函数的返回值。
【例2-4】编写程序,完成一个函数的调用。
(1)在Visual Studio 2017中,新建名称为“2-4.cpp”的Project4文件。
(2)在代码编辑区域输入以下代码。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P34_71483.jpg?sign=1739205592-jVysGaQdrt5RefbbEuYbVbZQqCyx1epT-0-40dc616fa461b604c273778dfa27ce08)
【程序分析】该代码的输出与【例2-1】相同,但编写方式存在细微差别。首先在main()函数前定义了函数fun(),因此无须声明该函数。另外,main()函数中直接调用fun()函数,并将该函数的返回值作为main()函数的返回值,使主函数更加简短,调用过程如图2-4所示。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P35_6457.jpg?sign=1739205592-Rq9ZCuqqEJhiu22vR4QLlX2OIhqfndWM-0-748459bbc7e583e968c821efd9d27e4a)
图2-4 函数调用
在Visual Studio 2017中的运行结果如图2-5所示。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P35_6460.jpg?sign=1739205592-aTAEZxrSkgtdSn0z0RJEm9Wv4dtaVK9y-0-2a042c4d55e39dc8ddf30cff513b98f9)
图2-5 程序运行结果
注意:在函数无须做任何决策,也无须返回成功和失败状态时,可将其返回类型声明为void型,例如:“void fun();”。