如有下面说明语句:int a[4][5],(*p)[5];p=a;则对a数组元素的正确引用A p+1B *(p+3)C *(p+1)+3D *(*p+2)其他为什么错了、D为什么对了帮我解释下还有(*p)为什么加了括号为什么可以写p=a

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 23:30:52

如有下面说明语句:int a[4][5],(*p)[5];p=a;则对a数组元素的正确引用
A p+1
B *(p+3)
C *(p+1)+3
D *(*p+2)
其他为什么错了、D为什么对了帮我解释下
还有(*p)为什么加了括号
为什么可以写p=a

a是一个(int类型的)二维数组(二维数组本质上是一个维数组)
p先是一个指针,这外指针指向一个一维数组(int类型的)
p=a表示将指针p的值 斌成二维数组的首地址
A p是一个指针P+1 实际上是首地址 挪5个int位置是地址 返回的是一个地址的值(指向一个int数组的地址)
B (P+3)取得的也是一个地址的值(指向一个int数组的地址)再结合* 得到是一个首地址的值然后再取它的内容做为地址
即 int a[4][5] 中的int a[2][0] 这个位置的地址 再进行退化成 一个一维数组的别名 即 也可看成一个 指向int类型的 地址
C 他是在指向int 类型的地址再向后挪3位 即 是到a[3][3]这个位置 的地址 返回 他还是一个指针

D 返回的是对应二维数组中a[2][0]的这个元素的值
总结一下
A返回的是a[1][0]这个位置的地址 并且 告诉编译器 它是一个指向一维int [5]类型数据的指针
B返回的是a[3][0]这个位置的地址 并且 告诉编译器 它是一个指向 int的地指针
C返回的是a[3][3]这个位置的地址 并且 告诉编译器 它是一个指向 int的地指针
D返回的是a[2][0]这个位置的别名 它是一个int类型

如有下面说明语句:int a[4][5],(*p)[5];p=a;则对a数组元素的正确引用A p+1B *(p+3)C *(p+1)+3D *(*p+2)其他为什么错了、D为什么对了帮我解释下还有(*p)为什么加了括号为什么可以写p=a 226.若有说明语句:int a=5; a++; 此处表达式a++的值是 A) 7 B) 6 C) 5 D) 4 已有如下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的正确定义为()int a[3][4];f(a);A f(int array[][6])B f(int array[3][])C f(int array[][4])D f(int array[2][5]) C#类型转换问题 有一个浮点型变量都报了money=66.6,下面()中的语句可以将它转换为一个整形变量.A.Int pay=money;b.int pay=(int)money;c.int pay-int.parse(money);d.int pay=convert.toint32(money);说明理由 c语言练习题(选择题)2、若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是___.a)a,point,*&a b)&*a,&a,*pointc)*&point,*point,&a d)&a,&*point ,point6、 若有以下说明语句,则____是数组元素的正确引 【求助】若有说明语句:int a【10】={1,2,3,4,5,6,7,8};,则a[9]元素的值为若有说明语句:int a【10】={1,2,3,4,5,6,7,8};,则a[9]元素的值为A,0 B,不确定 C,1 D,8 已有数组定义inta[3][4]和f(a)函数调用语句,则在f函数说明中对形参数组错误定义方式为第二个,具体原因f(int array[][6] ; f(int array[3][] ; f(int array[][4]; f(int array[2][5]谢谢 2.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是_____.a)a,point,*&a b)&*a,&a,*point2.若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是_____.a)a,point,*&a b)&*a,&a,*pointc)*&point,*point 有程序的说明语句为:int a[8];int *pa=a;则与表达式a[5]等价的是多少呢A.*(pa+5) B.a[0]+5 C.*pa+5 Dpa[0]+5 选哪个呢 若有以下函数首部int fun(double x[10],int *n)则下面针对此函数的函数声明语句中正确的是 .A)int fun(double x,int *n); B)int fun(double,int);C)int fun(double *x,int n); D)int fun(double *,int*);如果答案没错的话 若有以下函数首部 int fun(double x[10],int *n) 则下面针对此函数的函数声明语句中正确的是()A int fun(double x,int*n);B int fun(double ,int );C int fun(double*x,int n);D int fun(double * ,int *);答案是C为什么不是D, 下面语句错误的是(要详细分析的哦)A.int a=5;intx[a];B.const int a=5;int x[a];C.int n=5;int *p=new int[a];D.const int n=5;int *p=new int [a]; C语言,若有定义语句”Int a=5”为什么a++的值是5?如题,不是说+1吗?那为什么不是6呢? 如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,则数组a的大小是________.A) 10 B) 11C) 8 D) 不定 如有定义语句int a[]={1,8,2,8,3,8,4,8,5,8}; ,则数组a的大小是________.A) 10 B) 11 C) 8 D) 不定 若有int a[5]={1,3,5,2,4};则用泛型算法在数组查找X的语句为 下面的( )函数声明语句存在着语法错误A.AA(int a,int b) B.AA(int,int)C.AA(int a;int b) D.AA(int a,int)请把解题思路和步骤写下来 关键字const含义,解释下面各语句意思?首先解释关键字const的含义?下面语句:const int a;int const a;const int *a;int *const a;int const* a const;的意思?