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