short *p1 = 0, *p2 = 0; int b = 0; int *a[5] = { 0 }; for (int i = 0; i < 5; i++) { a[i] = (int *)i; } p1 = (short *)a[1]; p2 = (short *)a[3]; b = (p2 - p1); cout << "b = "<< b << endl;
道理很简单,因为short占2个字节,而a[3]-a[1]=2,所以是2/2=1