📜  门| GATE-CS-2007 |第 68 题(1)

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

题目介绍

本题为GATE-CS-2007第68题,是一道关于C语言的题目,主要考察指针的使用。

题目描述

给定C语言代码如下:

#include <stdio.h>

int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    int *p = arr;
    *(p + 2) += 3;
    printf("%d, %d, %d\n", *p, *(p + 1), *(p + 2));
    return 0;
}

请给出程序输出结果。

答案解析

程序输出结果为:

1, 2, 6

分析:

  • 变量arr是一个整型数组,定义在main函数中,包含5个元素。
  • 变量p是一个指向整型数据的指针,指向arr。 -表达式*(p + 2) += 3 等价于 arr[2] += 3,即第3个元素的值加上3。
  • 打印p、(p+1)和*(p+2)对应arr[0]、arr[1]和arr[2]的值,输出为1、2和6。

本题主要考察指针的使用,指针可以指向数组,通过指针的运算来访问数组元素。在本题中,通过指针p来访问数组arr的元素,通过指针运算*(p+2)来访问arr[2]的值,进而对该元素的值进行修改。

Markdown格式代码片段

# 题目介绍

本题为GATE-CS-2007第68题,是一道关于C语言的题目,主要考察指针的使用。

## 题目描述

给定C语言代码如下:

```c
#include <stdio.h>

int main()
{
    int arr[] = {1, 2, 3, 4, 5};
    int *p = arr;
    *(p + 2) += 3;
    printf("%d, %d, %d\n", *p, *(p + 1), *(p + 2));
    return 0;
}

请给出程序输出结果。

答案解析

程序输出结果为:

1, 2, 6

分析:

  • 变量arr是一个整型数组,定义在main函数中,包含5个元素。
  • 变量p是一个指向整型数据的指针,指向arr。 -表达式*(p + 2) += 3 等价于 arr[2] += 3,即第3个元素的值加上3。
  • 打印p、(p+1)和*(p+2)对应arr[0]、arr[1]和arr[2]的值,输出为1、2和6。

本题主要考察指针的使用,指针可以指向数组,通过指针的运算来访问数组元素。在本题中,通过指针p来访问数组arr的元素,通过指针运算*(p+2)来访问arr[2]的值,进而对该元素的值进行修改。