ldcf.net
当前位置:首页 >> 有定义:int A[12]={1,2,3,4,5,6,7,8,9,10,11,12},*... >>

有定义:int A[12]={1,2,3,4,5,6,7,8,9,10,11,12},*...

数值4也就是这个定义数组的第四个数 也就是a[3] char c='a',而'a'代表了ASCLL码,表示的是十进制的97,那么c=97。 而'd'也表示的是ASCLL码,意味着十进制的100。 所以'd' - c=100 - 97=3 所以就有了4的表达式为a ['d' - c ]

int (*ptr)[3]=a这句,将a的首地址赋值给了ptr,ptr表示的是指向一个含有三个Int的数组的指针, *((ptr+1)[2])等价于*((ptr+1)+2),等价于*(ptr+3),这表示从数组a的首地址向后移动3个单位,每个单位为一个含有3个Int的数组,所以一共向后移动了...

不是“数值4的表达式 是a['d'-c]” 而是“a['d'-c] 表达式的值是数值4” 因为'd'-c='d'-'a'=3 a[3]的值就是4。

#include void main() { int a[]={1,2,3,4,5,6,7,8,9,10,11,12};//对数组a初始化 int *p[3];//定义指针数组,每一个元素都是指针 int m;//定义变量m for(m=0;m

答案是D p[ i ]是数组a[ ]的第i+1个元素,&p[ i ] 即取数组a[ ] 的第i + 1个元素的地址,故&p[ i ]表示数组元素地址。 A 错,a+1本身就是数组第二个元素的地址,再取地址编译报错 B 错,a是数组名,存储在静态区,不能进行自增++运算,只有变量...

#include void insert(int *p,int i) { int j; for(j=10;j>i;j--) { *(p+j)=*(p+j-1);//从数组最后一个元素开始遍历,把遍历到的元素的前一个元素覆盖这个元素 } *(p+j)=100; for(j=0;j

int a[10]={1,2,3,4,5,6,7,8,9,10}; //定义了一个int类型的数组a,有10个元素,并初始化 int *p=a;//定义了一个指向int类型的指针,并使该指针指向数组a的第一个元素 *a是a[0],值是1 *(a+2)是a[2],值是3 p[3]是a[3] 值是4 *(p+5)是a[5],值是6 ...

#include void fun(int *p){int i=0,j=0,k=0;;printf("请输入下标:");scanf("%d",&j);if (j>=0 && j

int (*p)[4];表明p是行指针,即p指向二维数组中的一行。 p=a;这一句表示p指向a[0],也就是指向a数组第0行的第0个元素(a[0][0])的地址。 p[2]表示p指向a数组的第二行,即指向a[2]行,也就指向a[2][0]的地址。 p[2]+3表示行指针指向a数组的第二行...

答案是B,3. int a[][4]的写法就是表示,第一维大小没限制,但是第二维数组大小就是4,也就是int a[][4]={{1,2,3,4},{5,6,7,8},{9,10}},明显是3.

网站首页 | 网站地图
All rights reserved Powered by www.ldcf.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com