请大家帮我解释一下这段代码是如何递归调用字符串反向显示的?
#include<stdio.h> #include<string.h> /*strcpy()等库函数所在的头文件 */ void reversedisplay(char[],int no); /*函数的声明*/
void main(){ int index=0; /*显示字符的当前位置 */
char string[81]; strcpy(string,"this is a c program.");
reversedisplay(string,index); /*调用反向显示字符串函数 */
}void reversedisplay(char s[],int no) /*函数的声明 */
{ if(s[no]) /*遇到 0\字符 时显示结束 */
{ reversedisplay(s,no+1); /*递归调用 */
printf("%c",s[no]); /*反向显示字符串的每个字符 */ }}
如果执行到字符串的结束标志,IF语句不是结束整个函数运行了,怎么还能对字符串反向显示?