这个是老师的代码,解决的是逆波兰表达式。
我想问的是
代码如下,ide 是 dervC++:
using namespace std;
double f ()
{
char str[10];
cin >> str;
switch (str[0])
{
case '+': return f () ;
case '-': return f () ;
case '*': return f () ;
case '/': return f () ;
default: return atof (str );
}
}
int main ()
{
cout << f ();
return 0;
}
为什么每次递归调用 str[0]都会自动指向下一个字符
还有为什么 atof (str ) 这个 str 是指的整个字符数组吗?为什么至转化了一部分 比如 输入:+ 36 25
第一次调用 atof ( str )返回的是 36 不是 36 25 。。
求大神指点!!!!!!!!!
为什么像我这样写递归 str[0]不会自动指向下一个字符。。。
求大神指点!!!!!!!!!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.