指针减法一题

写出下面程序的运行结果:

#include <iostream>

using namespace std;

int main()
{
    int a[3];

    a[0] = 1;
    a[1] = 5;
    a[2] = 8;

    int *p, *q;

    p = a;
    q = &a[2];

    cout << q-p << endl;
    cout << a[q-p] << '
';

    return 0;
}

结果:

2
8

析:

q-p 的实质是(q的地址值 - p的地址值)/ sizeof(int)

原文地址:https://www.cnblogs.com/aqing1987/p/4269680.html