编写一个函数 whatTime
,该函数通过秒表显示的秒数,计算当前的时间(几点几分几秒),计算得到的时间通过参数返回。
内容涉及传引用,是 C++ 对 C 语言的扩充部分, C 语言不包括这部分内容。
由于 C++ 的函数只能返回一个值,而本题要求返回当前时间(几点几分几秒),需要返回三个值,所以没法通过 return 语句一次返回(如果学了结构也可以把三个数据一起打包返回),但 C++ 函数参数提供了另一种返回值的方式:引用参数。
函数调用时,需要进行参数传递,即把实参的值逐个传给对应的形参。对 C++ 而言参数的传递方式有两种:传值和传引用。
参数传值
传值是指值的复制,即把实参的值传递给形参,实参和形参是不同的变量,有各自独立的存储空间,因此函数被调用执行时,只能访问形式参数对应的内存单元,不能访问或修改实在参数的值。
下面的 swap 函数试图交换两参数的值:
#include <iostream>
using namespace std;
// 交换 x 和 y 的值
void swap(int x,int y)
{
int temp = x;
x = y;
y = temp;
}
int main()
{
int a = 10, b = 20;
// 调用函数,试图交换