若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。

若有如下图所示5个连续的int类型的存储单元并赋值,a[0]的地址小于a[4]的地址。 p和s为int型的指针变量。请对以下问题填空。

①若p已指向存储单元a[1]。通过指针p给s赋值,使s指向最后一个存储单元a[4]的语句是【 】。

②若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是【 】。


相关考题:

若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是A.p=2*(int*)malloc(sizeof(int));B.p=(int*)mall0c(2*sizeof(int));C.p=(int*)malloc(2*2);D.p=(int*)calloc(2,sizeof(int));

若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元 int *p; p=_______malloc(sizeof(int)); 则应填入_______。A.intB.int*C.(*int)D.(int*)

若要用下面的程序片段使指针变量P指向一个存储整型变量的动态存储单元 int *p; p=______malloc(sizeof(int)); 则应填入______。A.intB.int*C.(*int)D.(int*)

若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元 int *p; p=______malloc(sizeof(int)); 则应填入______。A.intB.int*C.(*int)D.(int*)

若要用下面的程序片段使指针变量p指向—个存储整型变量的动态存储单元 int *p; p=______malloc(sizeof(int)); 则应填入______。A.intB.int*C.(*int)D.(int*)

以下叙述中正确的是()A.int* p1; int ** p2; int *p3;都是合法的定义指针变量的语句B.指针变量只能通过求地址运算符() 来获得地址值C.语句p=NULL;与p=0;是等价的语句D.语句p=NULL;执行后,指针p指向地址为0的存储单元

以下叙述中正确的是()A.int *p1; int **p2; int ***p3; 都是合法的定义指针变量的语句B.指针变量只能通过求地址运算符()来获得地址值C.语句p = NULL; 与p = 0; 是等价的语句D.语句p = NULL; 执行后,指针p指向地址为0的存储单元

若有定义和语句“double r=99, *p=r; *p=r;”,则以下正确的叙述是 。A.以上两处的*p含义相同,都是给指针变量p赋值B.在“double r=99, *p=r;”中,把r的地址赋值给了p所指的存储单元C.语句“*p=r;”中,把变量r的值赋给指针变量pD.语句“*p=r;”中,将变量r的值赋给p所指向的存储单元

若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()A.p=2*(int *)malloc (sizeof (int));B.p=(int *)malloc (2*sizeof (int));C.p=(int *)malloc (2* sizeof (0)));D.p= (int*)calloc(2,sizeof (int));