#include <iostream>
using namespace std;
long strtoint(char* str, int len) {
if(len > 1) {
return str[0]=='-' ? strtoint(str, len-1)*10-(str[len-1]-'0') : strtoint(str, len-1)*10+str[len-1]-'0';
} else {
return str[0]=='-' ? -1/10 : str[0]-'0';
}
}
int main(int argc, char ** argv) {
long n = strtoint("-12354", strlen("-12354"));
cout<<n;
cin.get();
return 0;
}
using namespace std;
long strtoint(char* str, int len) {
if(len > 1) {
return str[0]=='-' ? strtoint(str, len-1)*10-(str[len-1]-'0') : strtoint(str, len-1)*10+str[len-1]-'0';
} else {
return str[0]=='-' ? -1/10 : str[0]-'0';
}
}
int main(int argc, char ** argv) {
long n = strtoint("-12354", strlen("-12354"));
cout<<n;
cin.get();
return 0;
}
本文介绍了一个使用C++递归实现的字符串转整数的函数。该函数能够处理负数,并通过递归方式逐位将字符转换为数值。文章包含完整的代码示例。

被折叠的 条评论
为什么被折叠?



