📜  门| GATE-CS-2014-(Set-1) |问题 19

📅  最后修改于: 2021-09-25 04:34:03             🧑  作者: Mango

考虑以下 C 语言程序:

#include 
main()
{
    int i;
    int *pi = &i;
    scanf("%d", pi);
    printf("%d\n", i+5);
}

以下哪一项陈述是正确的?

(A)编译失败。
(B)执行导致运行时错误。
(C)执行时,打印的值比变量 i 的地址多 5。
(D)执行时,打印的值比输入的整数值多 5。答案: (D)
说明:程序中没有问题,因为 pi 指向了一个有效的位置。

此外,在 scanf() 中,我们传递一个变量的地址,而 pi 是一个地址。
这个问题的测验