#include <iostream>
using namespace std;
void stack(char c);
int main()
{
char d;
cin>>d;
stack(d);
cout<<endl;
return 0;
}
void stack(char c)
{
if(c!='#')
{
char d;
cin>>d;
stack(d);
cout<<c;
return;
}
else
return;
}
功能:直到输入的字符是#,就反序输出所有的字符。
这函数是怎么实现输出多个字符的呢?在stack()函数里,不是一执行到stack(d)就返回判断字符是否为#了吗?
到底是怎么实现反序并输出多个字符的?
if()里面的return是什么时候执行的,执行后他返回的是哪里?
运行到if()语句中的stack(d)时,不就返回去重新调用自己吗?
那么他下面的cout<<c;和return就不执行?