![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=1739410883-YNnHCS6HuBfdr6hPtmnqInrCqZFTQgju-0-98d15706e9be4eca1a3f3c27dc31f364)
函数能够将应用程序划分成多个功能单元,并且通过选择实现调用。在函数被调用时,通常会有一个值返回给调用它的函数。
【例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=1739410883-NqohNcfUaSgmpwdXS8J1P8NQaqqHTwM3-0-b66693c8fc722ca2faa6a105b6db4c02)
【程序分析】本例中定义了一个函数,其函数名为fun(),返回类型为int,展现了声明函数,调用函数,最后输出结果的过程。这个函数简单演示了cout的功能,既可以显示文本,还可以显示简单算术运算的结果。
在Visual Studio 2017中的运行结果如图2-3所示。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P34_6393.jpg?sign=1739410883-QSSR97qZLNJA1VMZygkhLWNMwMeqsFMh-0-5120dcc46708b60377401b60498f4052)
图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=1739410883-r4Q9xsJXaUKD1zW29XyKrl8spyZsSA7y-0-efcb132ac95a34d97a8f9deb6ebb419e)
【程序分析】该代码的输出与【例2-1】相同,但编写方式存在细微差别。首先在main()函数前定义了函数fun(),因此无须声明该函数。另外,main()函数中直接调用fun()函数,并将该函数的返回值作为main()函数的返回值,使主函数更加简短,调用过程如图2-4所示。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P35_6457.jpg?sign=1739410883-bIj0RX6zWeG5zgTmKnICTlUT82grdRg6-0-f533e92d4b7471e0a7f59cada8b6bd32)
图2-4 函数调用
在Visual Studio 2017中的运行结果如图2-5所示。
![](https://epubservercos.yuewen.com/F7D2C7/15289822205524706/epubprivate/OEBPS/Images/Figure-P35_6460.jpg?sign=1739410883-5pUrt4cmmI0duTo69JPVca2sv14c2hja-0-60aa77e9c828642982848814d76e9aa4)
图2-5 程序运行结果
注意:在函数无须做任何决策,也无须返回成功和失败状态时,可将其返回类型声明为void型,例如:“void fun();”。