这个是老师的代码,解决的是逆波兰表达式。
我想问的是
代码如下,ide 是 dervC++:
include<iostream>
include <stdlib.h>
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]不会自动指向下一个字符。。。
求大神指点!!!!!!!!!