j*****j 发帖数: 115 | 1 int main()
{
char a='a';
char b='b';
cout<<&a-&b<
}
输出结果为12,但我觉得是1才对,请问这是怎么回事?
int main()
{
int a=1;
int b=2;
cout<<&a-&b<
}
输出结果为3,我觉得为4才对呀... | D*******a 发帖数: 3688 | 2 undefined behavior
【在 j*****j 的大作中提到】 : int main() : { : char a='a'; : char b='b'; : cout<<&a-&b<: } : 输出结果为12,但我觉得是1才对,请问这是怎么回事? : int main() : { : int a=1;
| t****t 发帖数: 6806 | 3 不是指向同一个数组的指针不能减, 否则是undefined | j*****j 发帖数: 115 | 4 哦 知道了 谢谢.
还有一个问题
int main()
{
int a[2]={0,1};
cout<<&a[1]-&a[0]<
}
为什么结果是1?
每个整型是4bytes,每个地址对应一个byte,我认为减出来的地址差应该为4... | D*******a 发帖数: 3688 | 5 1个sizeof(int)
【在 j*****j 的大作中提到】 : 哦 知道了 谢谢. : 还有一个问题 : int main() : { : int a[2]={0,1}; : cout<<&a[1]-&a[0]<: } : 为什么结果是1? : 每个整型是4bytes,每个地址对应一个byte,我认为减出来的地址差应该为4...
|
|