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

📅  最后修改于: 2023-12-03 14:54:49.050000             🧑  作者: Mango

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

简介

这是一道计算机科学领域的教资考试题目,题目关注的是编程语言的数组和指针的操作。程序员在学习和掌握编程语言时应该熟悉这些操作,能够在实际的开发中运用。

题目描述

问题描述: 下面给出一段 C 程序的代码,请问输出结果是什么?

#include <stdio.h>

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

A. 0 B. 1 C. 崩溃 D. 运行时错误

答案解析

数组 x 是一个长度为 5 的 int 型数组,其中第一个元素赋值为 1,剩下的四个元素默认为 0。

指针 p 指向数组 x 的第一个元素。 *(p+2) 表示指针 p 所指向的地址往后移动两个 int 类型的长度(8 个字节),取该地址上的 int 类型的值。也就是说,输出的结果为数组 x 中第三个元素的值。因为在代码中第一个元素赋值为 1,所以输出结果为 0。

正确答案:A。

代码片段
int x[5] = {1};
int *p = x;
printf("%d\n", *(p + 2));
返回Markdown格式

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

简介

这是一道计算机科学领域的教资考试题目,题目关注的是编程语言的数组和指针的操作。程序员在学习和掌握编程语言时应该熟悉这些操作,能够在实际的开发中运用。

题目描述

问题描述: 下面给出一段 C 程序的代码,请问输出结果是什么?

#include <stdio.h>

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

A. 0
B. 1
C. 崩溃
D. 运行时错误

答案解析

数组 x 是一个长度为 5 的 int 型数组,其中第一个元素赋值为 1,剩下的四个元素默认为 0。

指针 p 指向数组 x 的第一个元素。 *(p+2) 表示指针 p 所指向的地址往后移动两个 int 类型的长度(8 个字节),取该地址上的 int 类型的值。也就是说,输出的结果为数组 x 中第三个元素的值。因为在代码中第一个元素赋值为 1,所以输出结果为 0。

正确答案:A。

代码片段
int x[5] = {1};
int *p = x;
printf("%d\n", *(p + 2));
End.