1. 以下程序运行后的输出结果是
#include <stdio.h>
int main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
printf("%d",b);
return 0;
}
[分析]
由语句 p = &a[3] 可知, p指向数组元素a[3],
p[5] <-> *(p + 5), p + 5指向数组元素a[8],
-> 输出为 9.
2. 有以下程序段,则*(p[0]+1)所代表的数组元素是
#include <stdio.h>
int main()
{
int a[3][2]={1,2,3,4,5,6},*p[3];
p[0]=a[1];
printf("%d\n", *(p[0] + 1));
return 0;
}
[分析]
p[0] = a[1],
-> *(p[0] + 1) <-> *(a[1] + 1) <-&g