已有定义int(*p)():指针p可以指向函数的入口地址

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/16 04:02:02
C语言题目,已有定义 int x,y=10,*p=&y 则能使X的值也等于10的语句是

A选项是错的,x是整型,p是指针类型,赋值之后x的值是y的内存地址,不会是10.B选项是错的,同样,执行赋值之后x的值是p的内存地址,不会是10.C选项是错的,因为这个赋值过程和A选项的赋值过程是等价

若有定义语句:int a[2][3],*p[3];则下列语句正确的是

答案是C解决这类题型首先要分清类型.A错,虽然p的类型是(int**),a的类型是(int**),但是数组名代表的地址也不能改变.B错,因为p[0]的类型是(int*),a的类型是(int**).C对

已定义以下函数 fun(int *p) { return *p; } 该函数的返回值是

c吧!已知:inta[5]={1,2,3,4,5},*p=a+2;则*P的值是3吗?不是,a不能加2,是个定值

已定义以下函数 int fun(int *p) {return *p;} fun 函数返回值是

B再问:这是他的回答不是我的追问哦:这是地址传递,P是指向地址的指针,不是形参P的值是一个长整型的地址

若有一下定义,int s[4][6],t[6][4],(*p)[6]且0=

这个答案选B,因为p指向的变量为必须包含6个元素的指针再问:那0=

7.若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表

感觉这个题目写的不是很明确啊.如果这么写:b=a++那b指的是a[0]的地址.如果:a++;b=a;这时b就已经是指向a[1]的地址了.这个题应该还是想考查a++与++a的区别吧,a++返回的值是a,

17.若已定义:int a[9],*p=a;并在以后的语句中未改 变 p 的值,不能表示 a[1] 地址的表达式是( )

cacca10*(p+5)*(str+i)iint*z最后一题不做了考试?再问:不是没答案的练习题==、~~o(>_

若已定义:int a[9],*p=a;并在以后的语句中未改变p的值,不能表示a[1] 地址的表达式是

C、a++//表示先取a的值,再使a加1.因此a++表示a[0]的地址,且数组名是常值指针,不能修改其值.

若已定义:int a[]={1,2,3},*p=a;则执行*p++=5;(*p)++;后a[0],a[1],a[2]的值

#includevoidmain(){inta[]={1,2,3};int*p;p=a;*p++=5;(*p)++;printf("%d%d%d",a[0],a[1],a[2]);}533*、++、-

已有定义int a=5;int *p1 *p2且p1和p2均已指向变量a,下面不能正确赋值的是: A :a=*p1+*p

答案:Bp2是一个指针变量,后面必须将一个地址赋给它,而a是一个普通的整型变量,故赋值有误A)p1是一个指针变量,在使用时,指针变量前面加上星号*,代表该指针变量所指向的内容.故此选项是将p1和p2所

假设有定义 int *p; 那么p[0],&p,&p[0],(&p)[0],*p 分别代表什么?

p[0]就是*p就是p所指向的内存中的值&p是p这个指针本身的地址,&p的类型是int**&p[0]就是p[0]的地址,也就是p(&p)[0],就是*(&p),也是p*p,就是前面说的p[0]

9-6已有定义:int i,a[10],*p;,则合法的赋值语句是 A.p=100; B.p=a[5]; C.p=a[2

选D再问:为什么再答:因为数组名默认是数组的首地址,而a+2则是数组a的第三个元素的地址,而p又是一个指针,所以只能把a的地址赋给p,*p是表示取地址p里面所存的整型值,

定义int *p[3]表示什么?

如果完整的话,这应该是一句定义指针数组吧,也就是定义三个指针变量,三个指针变量又是一个数组.p[0],p[1],p[2];没有这样子用过.刚刚试了一下,是这样子的.例子程序:#include"stda

若有定义int a[10],*p=a;,则p+5表示什么

a是个常量,不能变化,但是p是个指针变量,可以加减,p的加减与p的类型有关,如果p是个int则,每次加四个字节,就是int型的长度,其它的也是相同的.char每次加一个字节.p+5代表第六个数值的地址

C语言程序设计 ,(5月30日前提交该作业)1.已有定义 int a[10],*p; 则正确的赋值语句是( ).A.p=

第六题,s是一个常量,s++的意思是s=s+1,给常量赋值了,编译都不能通过.应该选B.