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

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

UGC-NET CS 2017 年 11 月 – III | 问题 72

UGS-NET是印度全国大学委员会组织的全国资格考试,旨在评估印度大学生和毕业生的资格以及为学术领域的招聘提供素质检查。其中,UGC-NET CS指的是计算机科学专业的考试。

问题72要求我们写出以下C程序的输出结果:

#include<stdio.h>
int main()
{
    int i=-3,j=2,k=0,m;
    m=++i&& ++j || ++k;
    printf("%d %d %d %d",i,j,k,m);
    return 0;
} 

根据C语言的运算符优先级,先会进行逻辑运算符&&的判断,再进行逻辑运算符||的判断。同时,逻辑运算符具有短路效应。

按照程序运行,将进行以下步骤:

  1. 对于++i,将i自增1,此时的i值为-2;
  2. 因为i的值不为0,所以进行逻辑与运算;
  3. 对于++j,将j自增1,此时的j值为3;
  4. 因为i、j的值都不为0,所以进行逻辑与运算;
  5. 将m赋值为逻辑与运算的结果即1;
  6. 输出i、j、k、m的值分别为-2、3、0和1。

因此,该程序的输出为"-2 3 0 1"。

Markdown格式的代码如下:

# UGC-NET CS 2017 年 11 月 – III | 问题 72

UGS-NET是印度全国大学委员会组织的全国资格考试,旨在评估印度大学生和毕业生的资格以及为学术领域的招聘提供素质检查。其中,UGC-NET CS指的是计算机科学专业的考试。

问题72要求我们写出以下C程序的输出结果:

```C
#include<stdio.h>
int main()
{
    int i=-3,j=2,k=0,m;
    m=++i&& ++j || ++k;
    printf("%d %d %d %d",i,j,k,m);
    return 0;
} 

根据C语言的运算符优先级,先会进行逻辑运算符&&的判断,再进行逻辑运算符||的判断。同时,逻辑运算符具有短路效应。

按照程序运行,将进行以下步骤:

  1. 对于++i,将i自增1,此时的i值为-2;
  2. 因为i的值不为0,所以进行逻辑与运算;
  3. 对于++j,将j自增1,此时的j值为3;
  4. 因为i、j的值都不为0,所以进行逻辑与运算;
  5. 将m赋值为逻辑与运算的结果即1;
  6. 输出i、j、k、m的值分别为-2、3、0和1。

因此,该程序的输出为"-2 3 0 1"。


代码片段:

```C
#include<stdio.h>
int main()
{
    int i=-3,j=2,k=0,m;
    m=++i&& ++j || ++k;
    printf("%d %d %d %d",i,j,k,m);
    return 0;
}