📅  最后修改于: 2023-12-03 14:54:49.050000             🧑  作者: Mango
这是一道计算机科学领域的教资考试题目,题目关注的是编程语言的数组和指针的操作。程序员在学习和掌握编程语言时应该熟悉这些操作,能够在实际的开发中运用。
问题描述: 下面给出一段 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));
教资会网络 | 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));