c语言。。这个程序为什么输出136?

如题所述

执行fun(6):由于6>2大于0,执行fun(3);
fun(3):由于3/2大于0,执行fun(1);
fun(1):由于1/2=0,大于0不成立,执行printf,输出x的值1。函数执行完毕,返回母函数fun(3);
继续执行fun(3)后面的printf,输出x的值3。函数执行完毕,返回母函数fun(6);
继续执行fun(6)后面的printf,输出x的值6。函数执行完毕,返回母函数main,执行printf,输出换行符。
因此最后输出就是136\n。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-04
应该是3和6吧追答

因为if(6/2>0)为真执行fun(6/2)所以等于3
没有意义的题。你打印的值是x的值所以x等于6才对

追问

运行是136

追答

其实你这道题出题的方法都不对,正常的c语言是这样子写的,
#include
void fun(int x)
{
if(x /2>0)
下面的算法可以自己写。
}
int main(void)
{

fun(6);

return 0;
}

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网