编译原理(龙书):第七章部分题目参考答案

编译原理(龙书):第七章部分题目参考答案,第1张

编译原理(龙书):第七章部分题目参考答案

目录

7.2.5

7.2.6

7.3.2


7.2.5

答:返回值为9,理由如下:

将a赋值为3,调用f(a,a),则传递参数为x=3,y=3,

函数体内部,x=x+1得到值为4,y=y+2得到值为5,

返回值为x+y,因此返回值为9。

7.2.6

答:由题意,得:

int c=4; int *b=&c; int **a=&b;

调用f(c,b,a)之后,将c、b、a的值压栈,即作为传递参数,之后调用函数,

则在函数体内,x=4,py=b(指针),ppz=a(指针),

因此**ppz得到调用者中的变量c的值,**ppz+=1将c的值由4更改为5。

同理,*py+=2将c的值由5更改为7。

X是f函数块内的局部变量,执行x+=3则将x的值由4改为7。

因此,return x+*py+**ppz相当于return x+c+c,即7+7+7=21。

7.3.2

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5719121.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存