假设包含了所有必需的头文件,那么输出是什么?

时间:2018-04-05 15:26:59

标签: c++

void position (int & C1, int C2=3)
{
   C1 += 2;
   C2 += 1;
}

int main()
{
   int P1 = 20, P2 = 4;
   position(P1);
   cout<<P1<<","<<P2<<endl;
   position (P2,P1);
   cout<<P1<<","<<endl;
}

假设包含了所有必需的头文件,那么输出是什么?

1 个答案:

答案 0 :(得分:1)

实际上是功能

void position (int & C1, int C2=3)
{
   C1 += 2;
   C2 += 1;
}

可以像

一样重写
void position( int & C1, int = 3)
{
   C1 += 2;
}

因为第二个参数未在函数中使用且没有副作用。

因此,只有通过引用传递给函数的第一个参数才会被更改。

在第一个电话中

position(P1);

第一个参数是P1。所以这个电话改变了P1。

在第二个电话中

position (P2,P1);

第一个参数是P2。所以这个电话改变了P2。