#include <iostream>
using namespace std;
int main()
{
int t[4] = { 8, 4, 2, 1 };
int *p1 = t + 2, *p2 = p1 - 1;
p1++;
cout << *p1 - t[p1 - p2] << endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
这里p1 = 0x00000007c2affa24 [ 1 ] p2 = 0x00000007c2affa1c [ 4 ](地址和值)但p1-p2 = 2
output is -1
Run Code Online (Sandbox Code Playgroud)
我无法理解这个逻辑,请帮助我.