Problem G: 函数参数的传递

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Special Judger Creator:
Submit:242 Solved:9

Description

请选择以下(1)~(12)处的输出。

#include <bits/stdc++.h>
using namespace std;

int square0(int n)
{
    cout << "address of n0 in square0(): " << &n << "\n";
    n *= n;
    return n;
}

void square1(int* n)
{
    cout << "address of n1 in square1(): " << n << "\n";
    *n *= *n;
}

void square2(int& n)
{
    cout << "address of n2 in square2(): " << &n << "\n";
    n *= n;
}

int main()
{
    int n[3];
    n[0] = 8;
    cout << "address of n0 in main(): " << &n[0] << "\n";
    cout << "Square of n0: " << square0(n[0]) << "\n";
    cout << "After execute square0() in n0: " << n[0] << "\n";

    n[1] = 8;
    cout << "address of n1 in main(): " << &n[1] << "\n";
    square1(&n[1]);
    cout << "Square of n1: " << n[1] << "\n";
    cout << "After execute square1() in n1: " << n[1] << "\n";

    n[2] = 8;
    cout << "address of n2 in main(): " << &n[2] << "\n";
    square2(n[2]);
    cout << "Square of n2: " << n[2] << "\n";
    cout << "After execute square2() in n2: " << n[2] << "\n";

    return 0;
}
输出



address of n0 in main(): (1)

address of n0 in square0(): (2)

Square of n0: (3)

After execute square0() in n0: (4)

address of n1 in main(): (5)

address of n1 in square1(): (6)

Square of n1: (7)

After execute square1() in n1: (8)

address of n2 in main(): (9)

address of n2 in square2(): (10)

Square of n2: (11)

After execute square2() in n2: (12)

A. 8      B. 64      C. 16      D. 0x7fffa7e2de4c      E. 0x7fffa7e2de64      F. 0x7fffa7e2de68      G. 0x7fffa7e2de6c


Sample Input Copy


Sample Output Copy