已知int a3,4,5p a则表达式a

2021-03-12 18:49:25 字数 3242 阅读 7939

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 ...