我爱占星网 我爱占星网
首页
编程
java
php
前端
首页 编程 java php 前端

x为何被输出为13,而不是3

include <stdio.h>

void fun(int x)

{

if(x/2>0)

{

fun(x/2);

}

printf("%d",x);

}

main()

{

fun(3);

printf("\n");

}

x / 2 == 1 > 0 所以
fun(1): 1 / 2 == 0, 所以打印 1,退出函数
打印3,最终打印效果 13

你这样想,一共调用了两次fun()
每次fun()最后都会输出一个值

可以把他想象成这个代码

img

近期文章

  • 请问为什么for中嵌套while循环 时间复杂度却还是O(n)呢
  • getElementsByTagName("li")是获取同一级的li元素还是里面全部的li元素
  • QTreeview怎么实现表格中内容根据列宽自动换行?比如用户拖动列头改变列宽的时候。
  • MediaCode 播放H264裸流部分设备会有马赛克
  • 如何重定向到另一个网页?
  • R语言如何对堆栈中的栅格图层重命名
  • 关于String[]的一个小问题
  • 有点糊 都不会啊 都不会
  • 热敏电阻测温显示不了问题
  • FLUENT使用UDF编写UDP通信协议与Simulink交换数据
  • 系统中需要新增批量导入
  • 公司同一局域网的情况下,java后台怎么区分不同访问用户的客户端
  • 数据结构c语言代问题
  • "use strict"在 JavaScript 中是做什么的,其背后的原因是什么?
  • C语言读程序,为什么是5?求解释
  • C sharp鼠标穿透
  • 请问一下横行处应该填什么
  • flutter web text overflow 溢出隐藏bug怎么解决
  • 为什么判断是不是等要三角形不对,应该怎么写呢。
  • 编辑代码BMI,一直显示有错误,但我又不知道具体怎么错了

Copyright ©2022 我爱占星 All Rights Reserved.

浙ICP备2022030071号-1

部分图文来自网络,如有侵犯您的版权,请告诉我们删除

友情链接:代码精华