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

Assuming all required header files are included, What will be the output?

本文关键字:文件 输出 是什么 包含所 假设      更新时间:2023-10-16
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;
}

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

实际上是函数

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 被这个调用改变了。