C++调试在换行的时候卡住了怎么办?
速读
解决方法:
1.加入一个#define endl '\n'
2.将endl改为‘\n’,即直接输出‘\n’(该方法更稳定)
导入
这天我们的程序出现了BUG

嘶,明明是求3个数最大公约数的题目,给出了这么一个答案,肯定是不对的
这就用到了我们的调试
问题
为了解决上面的BUG我们在每一次计算余数的时候输出
通过调试,我们发现了我们现在所要讨论的问题:调试在换行的时候卡住了

无论怎么点下一步都没有用。
而这一行改成了printf("%d\n",r);,就解决了问题。

但是有人就要说了,那我不懂c语言怎么办
好办,通过这个我们可以发现调试是不支持endl换行的,而\n却可以
那我们把endl换成\n不久可以了吗
这里我们用到了#define
用这个进行替换(赋值)
具体如下#define endl '\n'
把他加入该代码就好了

当然也有我们第二种方法即将endl改为'\n'
在此特别感谢我们的WS_TSKY
可以看见该方法也是可以执行换行的,而且可能不会造成更大的bug

总结
问:C++调试在换行的时候卡住了怎么办?
答:在该文件加入一个#define endl '\n'或者将endl改为'\n'
后序

通过调试,up也是成功找到了BUG,即辗转相除发应该是除数等于上一个的余数
你们找到了吗?