若有以下语句,则q-p 的值是( )。
int a[3], *p=a, *q=&a[1];
A、2 B、3 C、1 D、不确定
对于数组 int a[3],以及指针 int *p = a; 和 int *q = &a[1];,p 指向 a[0],而 q 指向 a[1]。由于 p 和 q 都是指向 int 类型的指针,所以 q - p 实际上计算的是 q 和 p 之间有多少个 int 类型的元素。在这个例子中,q 和 p 之间正好有一个 int 元素(即 a[1]),所以 q - p 的结果是 1。
int a[3]
int *p = a;
int *q = &a[1];
p
a[0]
q
a[1]
int
q - p
1
当两个指针指向同一个数组时,它们之间的差值就是它们相隔的元素个数
地址相差1
C
用户登录可进行刷题及查看答案
登录后提交答案