c++问题初学者提问

有如下程序
#include

using namespace std;

void convert(char ch)

{

if (ch < 'D') convert(ch+1); 

cout<<ch; 

}

main()

{

convert('A'); 

}

程序运行后的输出结果是

DCBA

求问各位,为什么最后输出DCBA,我知道可以输出D但是为什么还要输出CBA呀?求解答

进去的会先不断递归,直到字符>='D,让后执行每层递归的打印,就从'D‘打到’A‘

convert递归,然后退出条件就是ch>='D'