题目以及程序的图片都放在下面了,希望大家主要看do while循环的内容就好了。
我是将输入以char数组形式存储的,用do while循环将数组转换为对应的int数(“1234”转换为1234),然后求最大最小值,相减得到一个新的值并将计算次数+1,这些应该都是没问题的。我试了很久发现是do while里面for循环的问题,比如说我输入6174,应该b就直接是6174,那么就可以直接出循环,输出jishu值为1,但不知道为什么会有死循环。
我让在外层do while 循环里面输出“1”,for 循环里面输出 “2“,来判断问题所在,发现输入6174后,确实1个1,3个2的不断输出死循环,然而去掉for循环后,输入6174后直接输出1个1就出循环了,但我实在也想不通这个for到底怎么回事,希望大家帮帮我![](https://tb2.bdstatic.com/tb/editor/images/face/i_f09.png?t=20140803)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=95f09e3030224f4a5799731b39f79044/48dab2b7d0a20cf416a616c92b094b36acaf994e.jpg?tbpicau=2024-07-14-05_4ed51e3fa0b033ae5689f723abe79cbc)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=0f23d0de7ff33a879e6d0012f65d1018/a5d78c5494eef01fe0334b2ba5fe9925bd317d95.jpg?tbpicau=2024-07-14-05_f5a6aa6eb9ffbb4a4f2202caa3518ea0)
我是将输入以char数组形式存储的,用do while循环将数组转换为对应的int数(“1234”转换为1234),然后求最大最小值,相减得到一个新的值并将计算次数+1,这些应该都是没问题的。我试了很久发现是do while里面for循环的问题,比如说我输入6174,应该b就直接是6174,那么就可以直接出循环,输出jishu值为1,但不知道为什么会有死循环。
我让在外层do while 循环里面输出“1”,for 循环里面输出 “2“,来判断问题所在,发现输入6174后,确实1个1,3个2的不断输出死循环,然而去掉for循环后,输入6174后直接输出1个1就出循环了,但我实在也想不通这个for到底怎么回事,希望大家帮帮我
![](https://tb2.bdstatic.com/tb/editor/images/face/i_f09.png?t=20140803)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=95f09e3030224f4a5799731b39f79044/48dab2b7d0a20cf416a616c92b094b36acaf994e.jpg?tbpicau=2024-07-14-05_4ed51e3fa0b033ae5689f723abe79cbc)
![](http://tiebapic.baidu.com/forum/w%3D580/sign=0f23d0de7ff33a879e6d0012f65d1018/a5d78c5494eef01fe0334b2ba5fe9925bd317d95.jpg?tbpicau=2024-07-14-05_f5a6aa6eb9ffbb4a4f2202caa3518ea0)