1楼:匿名用户
经过p = &a[0];赋值操作,p已经指向数组a的第一个元素3,那么*(p + 1)就是a的第二个元素4,那么3 == 4则为假,故选择a。
2楼:ct汤圆
答案是a
简单来说就是a[1]的值等于a[0]a为假,所以是0。
5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是 ( )。
3楼:匿名用户
这道题很难,需要仔细考虑。
a数组数据如下:
a[0][0]:1
a[0][1]:2
a[0][2]:3
a[1][0]:4
a[1][1]:5
a[1][2]:6
p是指向有三个元素数组的指针,也可以认为是一个指向指针的指针。
a.*p为三元素数组的首地址,+3后会指向数组中的第4个元素,发生了越界,还好,a是二维数组,越界后不会出错,而是指向了二维数组中的第二个三元数组的第一个元素,取值得4。
b.与a相比少了一个间接运算符*,所以它表示的是一个地址,非值。
c.p+0后没有任何变化,与a相同。
d.a[0][3]其实越界了,好在后面还有a[1][0]等数据,于是将a[1][0]中的数组4作为其值。
答案是b
编写程序验证了答案,显示如下:
*(*p+3)=4
*p+3=1638204
*(*(p+0)+3)=4
a[0][3]=4
4楼:
选ba数组数据如下:
a[0][0]:1
a[0][1]:2
a[0][2]:3
a[1][0]:4
a[1][1]:5
a[1][2]:6
p是一个指向3个元素数组的指针,就是说p+1相当于&a[1],这里的p+1会移动一个一维数组的大小,就是说3个int的大小
*p相当于a[0]
所以a和c一样,*p+3相当于&a[0][3],指向4,再解引用就变成了4
从上面的分析就看出了d是对的,而b是指向这个4的指针
5楼:o寒风夜袭
(*p)[3]=a=a[0][0]=1;
*(*p+3)=a[1][0]=4;
*p+3=&a[1][0],其值指向a[1][0]的地址,*(*(p+0)+3)=*(*p+3)=4;
a[0][3]=3;选d.
6楼:匿名用户
答案是b
猜测法:p+0还是p,所以a、c相等,而b明显与a不同,故答案是b。
已知int a[]={1,2,3,4,5,6},*p=a;,则值不等于2的表达式是______。 (*p)++为什么
7楼:go学龙
(*p) = 1,(*p)++是后缀所以表达式的值还为1
8楼:匿名用户
如果换成这个表达式 ++*p,它的值就是2了,对比一下,你应该明白了吧?
9楼:铸信
*p=2,常量不能自加运算,
已知:int a[]={1,2,3,4,5,6},*p=a;下面表达式中p值为5的是___ ___。
10楼:听不清啊
表达式中 *p 值为5的是___ (a)p+=3;*(p++); ___。
11楼:匿名用户
(a)p+=3;*(p++);
已知int a[5]={1,3,5,7,9},*p=a;,则表达式*p+3的值是______.怎么算的??
12楼:匿名用户
表达式*p+3的值是4
*p是指向数组a的指针,*p=a就是把p指向数组a的首地址,也就是a[0]的地址。
所以*p的值就是a[0]的值,也就是1,所以*p+3的值就是1+3=4了。
不清楚的话请追问我。
o(∩_∩)o 望采纳 哦 ~
13楼:荤三诗义斯
inta=,
*p=a;
//将首个元素地址赋给p
此时*p=1
while(*p!=3)
所以结果为7的表达式是:
*(p+2)
等价于*(p+4)
14楼:匿名用户
当指针p被初始化时,其被赋值数组a的首地址,即a[0]的地址
*p+3后便指向了a[3],
c语言 int a[]={1,2,3,4,5,6,7,8,9,10},*p=a,则值为3的是
15楼:冯老师(必果学院
这bai是一个指
针求du值的问题,答案zhi应该是a
答案分析如dao下:
首专先,所有的逗号属运算符,是从左向右进行的,其值为右边结果计算的值
a p+=2,*(p++) 先计算p+=2 再计算*p 最后计算p++ 表达式的值在第二步计算确定的 为p[2] = a[2] = 3。表达式计算完毕之后,p指向4
b p+=2,*++p 先计算p+=2,再计算++p 最后计算*p 表达式的值在最后一步确定 为4
c p+=3,*p++ 先计算p+=3,再计算*p 最后计算++ 表达式的值在第二步确定为4,而后a[3]的值变为5
d p+=2,++*p先计算p+=2,再计算*p 最后计算++ 表达式的值在最后一步确定,为4,而后a[2]的值变为4
16楼:匿名用户
答案a.
数组定义是a[0]=1,a[1]=2,a[2]=3, ...,a[9]=10
a. p += 2使p指向a[2], *(p++)表示先取*p的值, 然后p增加版1(指向a[3]), 所以取权得的值是a[2]=3
b. p += 2使p指向a[2], *++p表示先p增加1(指向a[3]),然后取*p的值,所以是a[3]=4
c. p += 3使p指向a[3], *p++表示先取*p的值, 然后p增加1(指向a[4]), 所以取得的值是a[3]=4
d. p += 2使p指向a[2], ++*p对*p的值增加1, 所以取得的值是a[2]=a[2]+1=4
还有一种写法是(*p)++, 表示先取*p的值, 这个值再增加1
如果int"a 1,b 2,c 3,d 4,则条件表达式“a
1楼 德形兼备 当a b 成立 则结果就是 a 如果 a b 不成立 则结果要判断 c 2 c 所以这题 结果是a 1 2楼 匿名用户 条件运算符的结合性是从右到左结合的,先算 c d?c d 返回 c 3 再算 a b?a c 返回值为1。 3楼 何慧哈 先判断a b为真取a值,得等式a d c ...
若a是int型变量,则执行表达式a 25 3 3后a的值为
1楼 四舍 入 若a是int型变量,则执行表达式a 25 3 3后a的值为24。 int是一种数据类型,在编程语言中,是用于定义整数类型变量的标识符。因为a是int型变量,所以25 3 8 333。又因为当运算符,函数或流程控制需要一个int型参数时,值会自动转换,同时会丢失精度。 所以8 333不...
已知a 161 a 2,则代数式a 1+a的值
1楼 匿名用户 请问 a 是指的某种符号吗,因为显示不是绝对值,另外求的应该是a 1 a 吧? 已知 a 1 b 2 c 3 且a b c 求a b c的值。 2楼 匿名用户 a 1, b 2, c 3, a 1,b 2,c 3, a b c, a 1,b 2,c 3或a 1,b 2,c 3, a ...