若有定义语句:int a[2][3],*p[3],则以下语句中正确的是D.p[1]=&a;
【答案】:C 解析:A.写法错误,把数组a的首地址赋给指针数组p要打*号,B.写法错误,给指针数组赋值的应该是地址 D.写法错误,给p[1]赋值的应该是二维数组的一个具体的数组元素
若有定义:int*p[3];,则以下叙述中正确的是().
正确答案:B
...的是 A p=a B p[0]=a C p[0]=&a[1][2] D p[1]=
p是一个整型指针的数组,C正确(D你没有写完整吧)
有定义:int *p[3],则p[1]=&a这个语句不对吗?
ini *p[3];\/\/ 你这是定义的一个大小为3的指针数组,可以存放三个整形指针 int a = 10;然后你执行这个语句:p[1] = &a;如此一来,数组p的第二个位置(即p[1])就是存放的a的指针(&a)这样的话,*p[1] 得到的结果就是10 即:因为p[1]与&a含义相同 那么,*p[1]与*(&a)含义也相同...
若int*p[3],a[2][3];则p[0]=&a[1][2]这个赋值语句为何不对呢?谢谢...
int *p[3];int a[2][3];则p是一个数组,数组元素是指针,该指针指向int类型的变量 所以p[0]即 *(p + 0)是数组p的第0个元素,p[0]的类型为指向int类型的变量.a是一个数组,数组的元素是含3个int类型元素的数组.所以a[1]是数组的第一个元素,a[1]的类型为含3个int类型元素的数组,a[1...
int x[2][3]={0},*P=X[0];则有语法错误的是
通过“int x[2][3]={0},*p=x[0];”的定义;现在p其实已经被赋为一个存储int变量地址(即指针),其所代表的地址就是x[0][0]的地址;由于p=x[0]=&x[0][0];所以p[0]=x[0][0]=*&x[0][0]=*x[0]=*p他们均为x[0][0]所代表的存储单元的值;而x[0]所代表的仅为一个...
int a[4][3],(*prt)[3]=a,*p=a[0];不能正确表示a[1][2]的表达式?
(*prt)[3] 表示的是一个指针,这个指针能够指向 大小为3的数组 跟普通的指针 int *ptr 表示只能指向 一个int一样 所以(*prt)[3]=a 实际跟 a所表达的意思差不多 这道题的答案应该是D,完全不知道表示的是什么
全国计算机等级考试三级笔试试题及答案?
(21) 已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1 && y+z\/2的值是( )。A) 6 B) 0 C) 2 D) 1(22) 有一函数, ,以下程序段中不能根据x值正确计算出y值的是( )。A) if(x>0) y=1; B) y=0; else if(x==0) y=0; if(x>0) y=1; else y=-1; else if(x<0) ...
int a[2][3] ,*p[3] ,p=a为什么是错的 p[o]=a是对的
指向a[0][0]的是a[0]也就是说a[0]本身就是一个地址,你可以输出a[0]就知道了。而*a[0]就能输出a[0][0]的值。即a[0]指向的是&a[0][0]p[3]表示的是声明的一个指针数组,在这个数组中的每一个成员都是一个指向int型的指针,因此只能对p[0]赋于int型变量的地址,比如int i=1; ...
大一C语言题目 24、若有定义语句:int a[2][3],*p[3]; ,则以下
定义等效于 int *p[3];这里p是一个数组,包含三个元素,每个元素类型为int 所以 A p为数组名, 不可以赋值。B p[0]为int*, 而a为二维数组名,等效于int **, 类型不匹配。C a[1][2]为a的一个元素,类型是int,所以&a[1][2]是int*, 和p[0]类型相同, 所以这个赋值是合法的。D ...