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

📅  最后修改于: 2021-06-28 22:18:59             🧑  作者: 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是地址。
这个问题的测验