写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <string>
#include <iostream>
using namespace std;
long strtoint(char *str,int length);
int main(int argc, char* argv[])
{
int i=0;
char str[100];
while ((str[i]=getchar())!='0') {
i++;
}
long n=strtoint(str,i);
cout<<n<<endl;
return 0;
}
long strtoint(char *str,int length){
if(length > 1) {
return str[0]=='-' ? strtoint(str, length-1)*10-(str[length-1]-'0') : strtoint(str, length-1)*10+str[length-1]-'0';
} else {
return str[0]=='-' ? -1/10 : str[0]-'0';
}
}
本文介绍了一个简单的函数实现,该函数能够将输入的字符串转换为长整型数值。通过递归的方式处理字符串中的每个字符,并考虑负数的情况。

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



