Chinaunix首页 | 论坛 | 博客
  • 博客访问: 592034
  • 博文数量: 92
  • 博客积分: 5026
  • 博客等级: 大校
  • 技术积分: 1321
  • 用 户 组: 普通用户
  • 注册时间: 2008-02-28 11:04
文章分类

全部博文(92)

文章存档

2011年(9)

2010年(17)

2009年(12)

2008年(54)

我的朋友

分类: C/C++

2008-09-10 09:16:14

7.写一个函数,检查字符是否是整数,如果是,返回其整数值。(或者:怎样只用4行代码编写出一个从字符串到长整形的函数?)
 
由于错误情况比较复杂,所有对错误情况并无处理(正确的字符串可以正确返回)
 
 

#include "stdio.h"
#include "stdlib.h"
#include "string.h"
 
 
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(argv[1], strlen(argv[1]));
        printf("n=%d\n", n);
        return 0;
}

阅读(3450) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~