C语言运行结果不清楚

为什么结果是123而不是333
这是为什么呢,之前有学过,但忘了😣

img

你这个是输出三个数字,他就把1,2,3依次输出了呀

首先while循环执行了3次,每次(用变量n缓存a的值)将b的值赋给a,将c的值赋给b,将a的值赋给c,这相当于:

a --> b --> c
^     |
| _______ |

构成一个循环赋值。

执行3次后,a,b,c的值又会变成他们最初的值。

中间的循环相当于循环移位,循环移位了3次,就是3从c移到b再移到a最后移到c,1,2,3移三次后又都回到了原来的位置,所以啊,a,b,c还是1,2,3