解释一个逆序输出问题

#include <stdio.h> void fun(char str[], int i) { if(str[i] != '\0') { fun(str, i+1); printf("%c", str[i]); } } int main() { char str[81]; printf("input the string :\n"); scanf("%s",str); fun(str, 0); printf("\n"); return 0; }调用函数怎么在调用,懂的请解释一下