main( ){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p-2;//*p=&a[3]把a中的3索引号地址给指针p,3索引号处为4,因为索引是从0算起//*q=p-2把p的地址减2个int位,即1处的索引号地址给指针q,1处的索引号处的值为2printf("%d\n",*p+*q);//*p+*q的值,...
选B 记住这样一个无条件相等的等式:(p+i)与P[i]无条件等价。因为p是指向数组a首元素的地址,所以p[i]又和a[i]等价。易知B选项即为p[8],也即为a[8],其值为9。
这个二维数组实际上是一个有3个元素的一维数组,其中数组的元素又是一个有3个元素的一维数组。我们先按行优先重新排列一下:int a[3][3]= { 1,2,3,4,5,6,7,8,9 };C和C++中的数组是从0开始编号的,第1行:a[0][0],a[0][1],a[0][2]第2行:a[1][0],a[2][1],a[1][...
答案是D,D的正确形式应该为:*(a+i)前面多了个星号。A:a[0]B: a[i]C: p[i]答案
100 Base-T 100M使用的是哪些针脚?有说1,2,3,6的,有说4,5,7,8的 你所说的2条 都可以正常的连线 区别就是 第一个 1。2传送3。6接收。4。5。6。7双向的方法对于遮蔽杂讯来说相对下面那个比较好 若有说明:int a[][4]={1,2,3,4,5,6,7,8,9}; 1 2 3 4 5 6 7...
(*ptr)[3]=a,数组指针只有3行,数组a有四行,所以(*ptr)[0]={1,2,3,4},(*ptr)[1]={5,6,7,8},(*ptr)[2]={9,10,11,12},所以*((ptr+1)[2])表示的是(*ptr)[2]里面的第二个元素就是10((ptr+1)[2])这种用法是不对的,数组的下标相当与解引用,比如a[2]=*(a+2...
include <stdio.h> define N 10 main(){ int a[N]={1,2,3,4,5,6,7,8,9,10};int i,j,t;printf("Before:\n");for(i=0;i<=N-1;i++)printf("%4d",a[i]);printf("\n");for (i=0,j=N-1;i<j;i++,j--){ t=a[i];a[i]=a[j];a[j]=t;} printf("After...
十六进制加法和十进制加法类似,满16进1。194+12,最低位4+2=6,次低位9+1=a(相当于十进制的10)。另外想确认一下,楼主使用的机器int型是2个字节大小吗?
选择 Bint a[][4] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};相当于int a[][4] = { {1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 0, 0}};而 int * p = *(a + 1);表明 p 此时指向 5 所以要想输出9, p 需要 += 4;剩下就是 * 和 ++ 优先级的...
a代表数组起始地址,也就是1的地址,a+10是0后面地址 a