题目链接:http://ybt.ssoier.cn:8088/problem_show.php?pid=1162
很简单的一道题,但题中出现了一个非常重要的细节。。。
1 #include<iostream> 2 #include<cstdio> 3 using namespace std; 4 char ch[10000]; 5 void gth(int n) 6 { 7 if(ch[n]!=‘!‘)gth(n+1); 8 else return;//这一行的作用很重要。。没有的话就会输出‘!‘ 9 cout<<ch[n]; 10 11 } 12 int main() 13 { 14 gets(ch); 15 gth(0); 16 17 return 0; 18 }
特别注意8行中的retrun作用是举足轻重的,有则AC无则WA,所以延老师在这儿特别强调一下:
以前遇到的return都是有返回值,比如,我们以前强调过的main()函数就是以return 0;结束的,然而这儿的return后面是没有数值的,主要用于void(无返回值)的 强制返回上一层的的处理,在函数调用中经常使用。
其他小伙伴的总结:https://www.cnblogs.com/fzhe/archive/2012/12/13/return.html?_t_t_t=0.6409680294171061