6174问题,用C语言,我写的这个可以运行,但是输出的结果不对,有的时候会死循环,我不知道该怎么改

第一张是原问题,后三张是我写的程序,我让这个程序最终输出的结果是6174,程序可以运行,输入某些数的时候会输出6174,也有输出随机值的情况,而大多数会进入死循环,我不理解。

img

img

img

img

既然前面已经从大到小排好序了,干嘛后面又来一遍从小到大排序呢?前面排好序的你到过来不就行了么?

我知道了,在循环里没有给abcd赋新值,应该这样

img