鱼C论坛

 找回密码
 立即注册
查看: 1004|回复: 1

[已解决]求助C语言课后S1E28一道题

[复制链接]
发表于 2020-11-9 00:46:21 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
求教,C语言课后S1E28动动手最后一题里的82行里的
// 打印字母间的间隔(空格)
                        int temp = gap;
                        while (temp--)
                        {
                                putchar(' ');
                        }


如果把int temp = gap这行注释掉
直接改成while(gap--)就会陷入死循环,求教为什么会这样。。。。
最佳答案
2020-11-9 01:18:53
本帖最后由 jackz007 于 2020-11-9 01:23 编辑

       死循环应该不是这个 while 语句所直接造成,代码中之所以要新增变量 temp 代替 gap,直接原因应该是变量 gap 除了在这里有用,在后面的代码中还会继续有用,所以,不希望在这里被改变。你把循环变量 temp 改成 gap ,循环结束的时候,gap 就会变成 0 值,这样,可能会影响到后面代码执行的流程走向。死循环应该和这个原因有关。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-11-9 01:18:53 | 显示全部楼层    本楼为最佳答案   
本帖最后由 jackz007 于 2020-11-9 01:23 编辑

       死循环应该不是这个 while 语句所直接造成,代码中之所以要新增变量 temp 代替 gap,直接原因应该是变量 gap 除了在这里有用,在后面的代码中还会继续有用,所以,不希望在这里被改变。你把循环变量 temp 改成 gap ,循环结束的时候,gap 就会变成 0 值,这样,可能会影响到后面代码执行的流程走向。死循环应该和这个原因有关。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 17:34

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表