为什么输出的是23而不是22呢

不是说do while 至少执行一次吗,那为什么会输出23呢不是说do while 至少执行一次吗,那为什么会输出23

img

x--,先输出23,再--操作,如果--x就是先--,再输出就是22了

printf("%d",x--)是先输出x的当前值23,然后x才减去1啊

是执行了一次,但打印的还是23,因为x--是先使用x,再减减

正因为至少执行一次,所以有输出啊,如果是while循环根本什么都不会打印
至于打印的到底是22还是23那是i++还是++i的问题,这跟do,while哪有一毛钱关系