📜  门| GATE-CS-2004 |第 34 题(1)

📅  最后修改于: 2023-12-03 15:12:40.675000             🧑  作者: Mango

题目描述
下面给出一个C++的程序片段,请回答该程序的输出结果。
void swap( int &x, int &y )
{
    int tmp = x;
    x = y;
    y = tmp;
}

int main()
{
    int i = 3, j = 5;
    swap( i, j );
    cout << i << j << endl;
    return 0;
}
输出结果

程序输出结果为:53

解题思路

本题考察程序员对于指针的理解和运用能力。程序中定义了一个简单的 swap 函数用于交换传入指针所指向的两个值。在主函数中定义了两个整数 ij,并把它们的值分别初始化为 35。然后调用 swap 函数交换两个整数的值,最后输出交换后的结果。

需要注意的是,在输出交换后的两个整数时,我们在 cout 中只使用了一个 << 运算符。这是因为 << 运算符会依次把它后面的内容输出到控制台,而在两个整数之间没有加任何空格或分隔符,所以它们会连成一个整体输出。

参考代码
void swap( int &x, int &y )
{
    int tmp = x;
    x = y;
    y = tmp;
}

int main()
{
    int i = 3, j = 5;
    swap( i, j );
    cout << i << j << endl;
    return 0;
}