问题
填空题
以下程序能将字符串Program!反向打印出来,请填空。 #include<stdio.h> void out(char *str) {char *s=______;/*第一空*/ if(*s==NULL)return: while(______)s++;/*第二空*/ s--; printf("%c\n",*s); ______=NULL;/*第三空*/ out(str); } main() {char c[]="Program!"; out(c);}
答案
参考答案:
解析: 本题是采用的递归算法。 str/*第一空。指针变量s获得传递而来的初值c*/ *s/*第二空a第一次循环负责找到字符串的结尾,第二次及以后循环负责找到字符串中的空字符*/ *s/*第三空。输出该字符后将其置空,以标记本次输出的位置为下次输出做准备*/