TrueSpike 2021-12-17 11:30 采纳率: 100%
浏览 19
已结题

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");

}

  • 写回答

3条回答 默认 最新

  • CCodelab 2021-12-17 11:33
    关注

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

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月29日
  • 已采纳回答 12月21日
  • 创建了问题 12月17日

悬赏问题

  • ¥15 程序实在不会写,要秃了
  • ¥15 pycharm导入不了自己的包
  • ¥15 C#.net通过内网url地址获取文件并下载问题,浏览器postman可以正常下载,用程序不行
  • ¥15 本人本科机械,目前研一。没有深度学习基础,目前对研究生课题一片迷茫,请教各位!
  • ¥15 关于R语言单因素与多因素线性回归的平均值
  • ¥15 服务器清除BIOS之后引导不了
  • ¥15 CPLEX用OPL编写的混合整数线性优化问题。
  • ¥15 可以用EasyConnect连接实验室内网,但无法连接内网才能访问的服务器,为什么?
  • ¥15 前端预览docx文件,文件从后端传送过来。
  • ¥15 层次聚类和蛋白质相似度