面试题解(五)之联想笔试题

题目:
    设计函数 int atoi(char *s)   
题解: 
  1. #include <stdio.h>
  2. #include <ctype.h>
  3. int main(void){
  4.     char str[]="-100";
  5.     char str1[]="567";
  6.     int c;
  7.     c=atoi(str)+atoi(str1);
  8.     printf("c content is %d/n",c);
  9.     return 0;
  10. }
  11. int atoi(const char *s){
  12.     int len;
  13.     char symbol='+';
  14.     unsigned char *str;
  15.     int v=0;
  16.     
  17.     str=s;
  18.     while(*str==' ')str++;
  19.     if(*str=='+'||*str=='-')
  20.         symbol=*str++;  
  21.     while(isdigit(*str)){
  22.         v=v*10+*str-'0';
  23.         str++;  
  24.     }
  25.     return symbol=='-'?(-1)*v:v;
  26. }
编译环境: 
        gcc (GCC) 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

运行过程:
        [explover@Explover 20081101]$ gcc -g atoi.c -o atoi
        atoi.c: In function `atoi':
        atoi.c:18: warning: assignment discards qualifiers from pointer target type
        [explover@Explover 20081101]$ ./atoi
        c content is 467

(本人水平有限,不足之处,请大家多多指正,谢谢!)    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值