c语言问题求助!1,已知:int a[]={1,2,3,4}, y, *p=a;则执行语句y = (*++p)--;之后

c语言问题求助!
1,已知:int a[]={1,2,3,4}, y, *p=a;则执行语句y = (*++p)--;之后, 数组a各元素的值变为______,变量y的值是____。
2,已知:int a[ ]={1,3,5,7}, y *p= a;为使变量y的值为3,下列语句正确的是____。
A) y=++*p++; B) y=++(*p++); C) y=(++*p)++; D) y=(*++p)++;
这两个题目感到很困惑,请各位大虾帮忙解释一下,最好能详细一点,谢过!
jayjulianzhou 1年前 已收到1个回答 举报

十月端端 幼苗

共回答了17个问题采纳率:94.1% 举报

1、 a[]={1,1,3,4 } ; y=2; ++ 和* 是同优先级,结合方式从右到左,y = (*++p)--;这个语句执行过程是:p开始指向a[0] ,++p 后 p指向a[1], (*++p)就是a[1]的值, ,y就等于2了,然后a[1]的值--,所以 a[1]就变成1了
2、A选项 y = 2; B 选项 Y = 2; C选项 ++*p这个写法就不对 D选项 y= 3; 还是 ++ 和*的优先级考虑好,以及++ ,--的运算方法 ,看书吧,不打字了。

1年前

6
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 16 q. 0.024 s. - webmaster@yulucn.com