计算机笔试题:写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整型的函数)

来源:互联网 发布:云进销存软件 编辑:程序博客网 时间:2024/04/29 15:06

写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用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';
 }
 
}

原创粉丝点击