
C语言函数调用的一个例子,谁能解释一下吗
2个回答
展开全部
函数调用实参与形参从右至左对应计算。所以——
甲图:调用f(i,++i);时先计算++i;i;后,i的值都是3,所以调用等价于f(3,3);,由于a==b所以输出0。
乙图:调用f(i,i++);时先计算i++;i;后,由于++是后++所以要等将i的值2赋给形参b后才做++运算,这时调用等价于f(3,2);,所以a>b成立,输出1。
甲图:调用f(i,++i);时先计算++i;i;后,i的值都是3,所以调用等价于f(3,3);,由于a==b所以输出0。
乙图:调用f(i,i++);时先计算i++;i;后,由于++是后++所以要等将i的值2赋给形参b后才做++运算,这时调用等价于f(3,2);,所以a>b成立,输出1。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询