📌  相关文章
📜  教资会网络 | UGC NET CS 2015 年 6 月 – III |问题 72(1)

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

教资会网络 | UGC NET CS 2015 年 6 月 – III |问题 72

这个问题涉及到程序员需要了解的一些基础知识。下面是对问题的解答:

问题描述

在下面的 C 程序中,下划线处应该写哪个选项才能使程序输出 4 4:

#include <stdio.h>
int main()
{
    int i = 4, j;
    j = i++ + ++i;
    _;
    return 0;
}

(A) printf("%d %d", i, j);
(B) printf("%d %d", j, i);
(C) printf("%d", j);
(D) printf("%d", i);

解答

题目中所给出的 C 程序可以简化为如下形式:

#include <stdio.h>
int main()
{
    int i = 4, j;
    j = i++ + ++i;
    printf("%d", j);
    return 0;
}

程序运行的过程如下:

- `i` 的值被初始化为 4,`j` 的值为未知。
- 执行 `j = i++ + ++i;`,此时 `i` 的值为 6,`j` 的值为 4 + 6 = 10。
- 执行 `printf("%d", j);`,输出 `10`。

因此,正确的选项应该是 (C) printf("%d", j);。

回答:

因此,正确的选项应该是 (C) `printf("%d", j);`。

代码片段:

/* 简化后的程序 */
#include <stdio.h>
int main()
{
    int i = 4, j;
    j = i++ + ++i;
    printf("%d", j);
    return 0;
}