int x,*p:则以下正确的赋值表达式是

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 14:05:47
若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)

inta[2][3],*p[3];因为[]的优先级比*高所以p是一个数组,这个数组存放的是指向整数的指针.即存放的是一个整数变量的地址.而&a[1][2]正好是一个整数的地址.所以p[0]=&a[1]

C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[

inta[2][3],*p[3];分析:对于a来说,毫无疑问,a是一个二维数组,a的值指向int类型的起始地址.对于p,首先p先与'[]'结合p[3],表示p是一个数组,p再与'*'结合成'*p[3]

定义语句:char s[3][10],(*k)[3],*p;,则以下赋值语句正确的为啥是 A)p=s; B)p=k; C

p是char型指针,必须指向char型变量,s是char型数组,k是char型指针数组,s[0]是char型变量,所以A,B都错了,C是对的,k是char型指针数组,当其单独使用时表示首地址即此数组中

若有说明: int *p,m=5,n;以下正确的程序段是()

D是正确的A,B中p是n的地址那么如果要输入n应该是scanf("%d",p);C中p还没定义给*p赋值就是给一个没有开辟的地址赋值了D是正确的意思是p为n的地址,将p地址上的数变成m,等价于n=m;

7.设有定义:int n=0,*p=&n,**q=&p;则以下选项中,正确的赋值语句是( ).A) p=1; B) *q

n是整数,p是整数指针,q是双重指针.A:p=1属于将地址1赋给p,非法.B:*q=2这里*q相当于一个整数指针,问题同上,非法.C:q=p相当于把p的地址赋给q,不能说错,但是不同维数的指针互相赋值

intx=2,z=-x+++1;则Z的值为-1 为什么呢

x的值为3,z的值为-1,z=-x+++1可以看作是(z=-x+1,x=x+1),先取x的值运算,x的值再自加,如果改成z=-++x+1,z的值就为-2了

若有定义:int x,*p;则以下正确的赋值表达式是 A.p=x B.*p=&x C.p=&x D.p=*x 分析

C.p=&x指针指向整数x的地址再问:p与*p、x与&x的差别?若P=&x,那么*p相对应什么x?再答:你要是定义一个int*p;和intx;的话,在定义的时候*p就是一个指针变量,x就是一个整型变量

设有定义语句:int =0,*p=&你,*q;以下选项正确的是?a;p=1 b:p=q c:*p=*q

使用了逗号操作符,实际上等于:intn=0;int*p=&n;int*q;所以,n是整型,p,q是整型指针.a错了,c也错了,*p是解引用操作,得到的是p所指向的内存区域的值.它不能作为一个“左值”(

若有以下说明和语句,int c[5],*p ;p=c ;能正确引用c数组元素的是?A) &p B)*(p+3) C) c

选BAp本身就是数组c的首地址了,再对它取地址没有语法错误,但是也没有实际意义Bp+3是c[3]的地址,*(p+3)就是c[3]Cc[5]数组下标越界Dc也是数组c的首地址,同A

若有以下定义和语句,则对a数组元素的正确引用为( ).int a[2][3],(*p)[3];p=a;

选C.p的类型是int(*)[3],是指针的指针.C选项相当于p[1][1].B选项错,它相当于p[2][1],数组的第一个坐标越界了.

以下数组定义中错误的是()A int x[][3]={0 };B intx [2][3]={{1,23,4,5,6};

A错intx[][3],它的列下标为0~2,但它的行下标的取值范围没有显式给出.而初始化只是{0},系统无法确定该数组的长度,因此在编译时无法为它分配一定大小的存储空间.

若有定义:int *p[3];'则以下叙述正确的是 帮我详细说说为什么!

A的说法,就是p本质上是个数组,只不过数组中的每个元素都是指针B的说法,就是p本质上是个指针,指针指向一个一维的数组这种题的话,其实可以先根据运算符的优先级、结合性,先确定标识符本质上是一个什么,然后

若有定义:int x ,* p ; 则以下正确的赋值表达式是______ A.p = &x B.p = x C.*p =

A,p是一个指针,它存的是一个地址,而“&”是取地址符号,故p=&x表示把变量x的地址取出来存在指针p内,即让p指向x

8.关于功率的公式P=FVcosα,以下理解正确的是(多选)( )

A,对B,对C,不对,平均功率P=W/t不能那样算的.D,对所以,选ABD

17.若有说明:int *p,m=5,n;以下正确的程序段是

Ap本身就是地址,所以&p错误Bp本身就是地址,输入函数参数是地址,所以*p错误Cp没有指向任何一个变量,所以不能赋值D对

若有定义语句:char s[3][10],(*k)[3],*p;则以下赋值语句正确的是:A、p=s; B、p=k; C、

首先说指针数组和数组指针.数组指针char(*k)[3];数组指针chars[3][10]*(p[3])p[3]存储的都是char*指针.p*是普通的char指针所以p=s[0]正确再问:我没看懂你想

若变量已正确说明,要求语句scanf("a=%f,b=%f",&a,&b);给a赋3.12、给b赋9.0,则正确的输入形

a=%f,b=%f之间有逗号所以输入的时候也必须有scanf遇空格、“回车”、“跳格”键就表示一个完整输入这里最合理还是C吧