[c/c++/循环]用while和do..while循环解决问题时输出结果为什么会有差异

问题描述:

img

img

img
如图
实现输入一个句子,把输入的字符串调换位置。但是我使用while循环时一种通过不了检测,输出总是少一节,dowhile就没问题,请问这是为什么呀?

肯定不一样啊。第二种情况最后的一个a元素是'\n',第一种情况'\n'是不会写入a数组的

do while先执行一次do里的代码,再做while判断
while直接判断。肯定会不一样

do{}while; 先执行,再判断。
while(){} 先判断,再执行。