若有以下定义和语句:int a[4]={1,3,5,7},*p; p=&a[2]; 则*--p的值是【 】
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/12 18:54:20
若有以下定义和语句:int a[4]={1,3,5,7},*p; p=&a[2]; 则*--p的值是【 】
结果是3.原理如下:
--是自减运算符,也就是说--p可以等同于p=p-1;
因为p是地址,所以p的自减运算是相当于往前移一个位置,
原来p是指向a[2],往前移一个位置,p就指向了a[1],所以*--p就等于3.
最后再给初学者一个忠告,C的运算符是比较复杂的,而且不同的编译系统对源程序的解释也不尽相同,所以,建议不要在这种问题上钻牛角尖.对不确定的东西,分多句写,或者加上括号,否则很容易被带沟里去.比如上面的语句,完成可以写在*(--p);或者分两句写成p--;*p这样子.如果有人专门考别人这些东西,纯属是显摆,不用理他.
--是自减运算符,也就是说--p可以等同于p=p-1;
因为p是地址,所以p的自减运算是相当于往前移一个位置,
原来p是指向a[2],往前移一个位置,p就指向了a[1],所以*--p就等于3.
最后再给初学者一个忠告,C的运算符是比较复杂的,而且不同的编译系统对源程序的解释也不尽相同,所以,建议不要在这种问题上钻牛角尖.对不确定的东西,分多句写,或者加上括号,否则很容易被带沟里去.比如上面的语句,完成可以写在*(--p);或者分两句写成p--;*p这样子.如果有人专门考别人这些东西,纯属是显摆,不用理他.
若有以下定义和语句:int a[4]={1,3,5,7},*p; p=&a[2]; 则*--p的值是【 】
若有以下定义和语句:int a[5]={1,3,5,7,9},*p; p=&a[2]; 则++(*p)的值是__6__.
.若有以下定义和语句:int a[4]={0,1,2,3},*p; p=&a[2]; 则++(*p)的值是___3__.
C语言……….若有定义语句:int a[4]={1,3,5,7},*p;p=a;则*(p+1)的值是
C语言 若有定义语句:int a[2][3],*p[3];则以下语句中正确的是()A.p=a;B.p[0]=a;C.p[
若有以下定义和语句,则对a数组元素的正确引用为( ).int a[2][3],(*p)[3];p=a;
若有以下说明和语句,int c[5],*p ;p=c ;能正确引用c数组元素的是?A) &p B)*(p+3) C) c
34) 设有以下定义和语句 int a[3][2]={1,2,3,4,5,6},*p[3]; p[0]=a[1]; 则
若有定义语句:int a[2][3],*p[3],则以下语句正确的是(C)
若有以下定义,“int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a”,则值为6的表达式是
若有定义∶# define P(x) x * x *x+1和说明语句:int a=2;则表达式P(2)的值是( )
设有定义:int a[2][2]={1,2,3,4},(*p)[2];,则在语句p=a;p++;后,**p的值为(3)