试题题干

参考答案
试题解析
在主函数中输出f(a++)需要调用函数f(int b),故主函数中a的值是函数f(int b)中b的值,定义的static int y=3;中y的值只初始化一次。
进行第一次循环,i=0,符合i<2,输出f(a++)的值要调用函数f(int b),则返回值b+y++的值为2+3=5,故输出f(a++)的值为5,变量y的值为4,a的值为3;i的值为1;
进行第二次循环,i=1,符合i<2,输出f(a++)的值要调用函数f(int b),则返回值b+y++的值为3+4=7,故输出f(a++)的值为7,变量y的值为5,a的值为4;i的值为2;
进行第三次循环,i=2,不符合i<2,故结束循环。输出f(a++)的值分别为5和7。