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

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

UGC NET CS 2014年12月 - III问题18

问题描述

以下是一个C语言程序。它有什么输出?

#include<stdio.h>
int main()
{
    int a[2][2] = { {1, 2}, {3, 4} };
    int *p = &a[1][1];
    printf("%d", *++p);
    return 0;
}
输出结果

输出结果为 4

代码解析

该程序定义了一个二维数组 a,其元素为{1, 2, 3, 4}。同时,定义了一个指向 a[1][1] 元素的指针 p。当 *++p 运行时, p 的值被递增,指向 a[1][2](即第二行第三列)上的元素,其值为 4,然后输出到控制台上。

总结

这是一个简单的指针运算问题,在C语言中非常常见。需要通过细心的分析和思考,理解指针的本质,才能更好地处理这些问题。