📅  最后修改于: 2023-12-03 15:39:56.549000             🧑  作者: Mango
题目描述:
以下 C 语言程序的输出是什么?
#include <stdio.h>
int main()
{
int a[] = {1, 2, 3, 4, 5}, *p = a, i;
p += 2;
i = *++p;
printf("%d", i);
return 0;
}
答案是:4
解析:
a
中有 5 个元素,分别为 1, 2, 3, 4, 5
。p
并指向数组的第一个元素 a[0]
。p
加上 2,指向数组的第三个元素 a[2]
。*++p
,先将指针 p
的值加 1,再取出指针指向的值 a[3]
给变量 i
。i
的值,即为 4
。代码片段:
```c
#include <stdio.h>
int main()
{
int a[] = {1, 2, 3, 4, 5}, *p = a, i;
p += 2;
i = *++p;
printf("%d", i);
return 0;
}