double a[]={2,4,6,8,10};
则 &a[3]-&a[0]的值为多少
(int)&a[3]-(int)&a[0]的值为多少
前者和后者的差别是什么?
double a[]={2,4,6,8,10};
则 &a[3]-&a[0]的值为多少
(int)&a[3]-(int)&a[0]的值为多少
前者和后者的差别是什么?
写个程序算一下就行了
#include <iostream>
using namespace std;
double a[]={2,4,6,8,10};
int main()
{
cout << &a[3]-&a[0] << endl << (int)&a[3]-(int)&a[0];
}
得到的值分别是3和24.
因为第一个值是指针相减,指针相减时要除以数据类型大小,而一个double占8个字节,所以是3.