已知 float a[10],*p=a,*q=&&a[2]; 假设数组的首地址为 1000H ,则表达式 q-p 的值为().跪谢
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/04 02:56:09
![已知 float a[10],*p=a,*q=&&a[2]; 假设数组的首地址为 1000H ,则表达式 q-p 的值为().跪谢](/uploads/image/z/8854150-22-0.jpg?t=%E5%B7%B2%E7%9F%A5+float+a%5B10%5D%2C%2Ap%3Da%2C%2Aq%3D%26%26a%5B2%5D%3B+%E5%81%87%E8%AE%BE%E6%95%B0%E7%BB%84%E7%9A%84%E9%A6%96%E5%9C%B0%E5%9D%80%E4%B8%BA+1000H+%2C%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F+q-p+%E7%9A%84%E5%80%BC%E4%B8%BA%EF%BC%88%EF%BC%89.%E8%B7%AA%E8%B0%A2)
已知 float a[10],*p=a,*q=&&a[2]; 假设数组的首地址为 1000H ,则表达式 q-p 的值为().跪谢
已知 float a[10],*p=a,*q=&&a[2]; 假设数组的首地址为 1000H ,则表达式 q-p 的值为().
跪谢
已知 float a[10],*p=a,*q=&&a[2]; 假设数组的首地址为 1000H ,则表达式 q-p 的值为().跪谢
哥哥,你的*q=&&a[2]是不是多了一个&符号啊?意思应该是指针q指向a[2]的地址吧.
如果是这样的话,q - p = 2;
计算步骤如下:
(1)p为指针,且指向数组a的首地址,即p的值是a[0]的地址;
(2)q为指针,且指向数组元素a[2],即q的值是a[2]的地址;
(3)q - p的意思是q指向的float元素与p指向的float元素之间的元素个数!因此是2
但是如果你把p和q都转化成整型值,再相减的话,那么(int)q - (int)p就等于8了,这是因为一个float元素占四个字节,两个float就是八个字节了.