为您找到"
...int a[10]={1,2,3,4,5,6,7,8,9,10}; int *p=&a[3],b;b=p[5...
"相关结果约100,000,000个
(p+2)就是先把P指向的地址后移两个单位,P初始化指向a数组首地址,后移两个单位后即 a[2]= 3 ;
【答案】:B 本题考查指向数组的指针,本题中指针变量P指向数组a,那么*P的值就是1,即表示数组的第一个元素,那么数值为9的表达式就是将指针向后移动8个地址.即p+8指向的是数组元素值为9,所以数值为9的表达式是*(P+8)。
在这种情况下,p[5]的含义是通过指针p访问数组中索引为5的位置,这相当于访问数组a中索引为8的位置,也就是数组a中的元素9。因此,p[5]的值是9。为了进一步解释,让我们来详细分析一下。数组a的定义和初始化如下:int a[10] = {1,2,3,4,5,6,7,8,9,10};指针p的初始化为p = a + ...
include<iostream> using namespace std;int main(){ int a[10]={1,2,3,4,5,6,7,8};//a[8],a[9]默认初始化为0 int *p;p=&a[5];//指针p现在指向数组a中的第六个即a[6];//p[-3]即表示指针p向前移动三个单位,也就是a[2],注意实际地址变量的值不变,p仍是只想a【5】c...
p=&a[3]就是p指向了a[3],然后p[5]=>*(p+5)就是在a[3]的地址上再往后移动5个,就是a[8]了,当然就是9的值了,答案就是D
在编程中,我们常常需要处理数组。例如,定义一个整型数组a[10],可以使用如下方式:int a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};这行代码创建了一个包含10个整数的数组,初始值分别为1到10。接下来,我们需要计算数组中所有元素的总和。可以使用for循环实现这一功能:for(int i = 0...
定义数组并赋值时C语言规定下标是这样的,a[n]中的n个元素应该是a[0]...a[n-1],由此可见答案B中a[10]已经超过规定的范围,故不能表示数组a中的元素。答案A中因为指针P指向数组首地址,所以*p相当于a[0]这个元素
{ flag = 1;for(j = 0; j < n-i-1; j++){ if(array[j] > array[j+1]){ temp = array[j];array[j] = array[j+1];array[j+1] = temp;flag = 0;} } if(1 == flag)break;} } void main(){ int A[10]={1、2、4、3、6、5、7、8、9、10},i;bubble_sort(a...
printf("%d\n",p);//输出的是第一个元素a[0]的地址,怎么可能是2呢?printf("%d\n",p+9);//输出的是第一个元素a[9]的地址,怎么可能是4呢?//元素地址由操作系统管理,这个值不确定。