| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 362 人关注过本帖
标题:因为是电子版的书,所以不确定程序是不是正确的,求大能鉴定
只看楼主 加入收藏
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
结帖率:84.21%
收藏
已结贴  问题点数:20 回复次数:3 
因为是电子版的书,所以不确定程序是不是正确的,求大能鉴定
程序代码:
#include<ctype.h>                 //程序功能是将字符转换成整形数
int atoi(char s[])
{
int i,n,sign;
for(i=0;isspace(s[i]);i++)         //跳过空白符
;
sign=(s[i]=='-')?-1:1;             //这个位置是不是应该先给i符个初值0呀?不然判断的是字符串尾是不是减号,还是说另有深意?
if(s[i]=='+'||s[i]=='-')           //跳过符号
i++;
for(n=0;isdigit(s[i]);i++)
n=10*n+(s[i]-'0');
return sign*n;
}


[ 本帖最后由 核晴核理 于 2012-11-19 11:24 编辑 ]
搜索更多相关主题的帖子: 电子版 电子版 
2012-11-19 11:23
wp231957
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:神界
等 级:贵宾
威 望:423
帖 子:13688
专家分:53332
注 册:2012-10-18
收藏
得分:10 
这还需要鉴定吗  

自己多做几次测试不就OK

DO IT YOURSELF !
2012-11-19 11:24
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:10 
自己测试下吧,另外这个atoi的源码
isspace(int x)
{
 if(x==' '||x=='\t'||x=='\n'||x=='\f'||x=='\b'||x=='\r')
  return 1;
 else  
  return 0;
}
isdigit(int x)
{
 if(x<='9'&&x>='0')         
  return 1;x`
 else
  return 0;

}
int atoi(const char *nptr)
{
        int c;              /* current char */
        int total;         /* current total */
        int sign;           /* if '-', then negative, otherwise positive */

        /* skip whitespace */
        while ( isspace((int)(unsigned char)*nptr) )
            ++nptr;

        c = (int)(unsigned char)*nptr++;
        sign = c;           /* save sign indication */
        if (c == '-' || c == '+')
            c = (int)(unsigned char)*nptr++;    /* skip sign */

        total = 0;

        while (isdigit(c)) {
            total = 10 * total + (c - '0');     /* accumulate digit */
            c = (int)(unsigned char)*nptr++;    /* get next char */
        }

        if (sign == '-')
            return -total;
        else
            return total;   /* return result, negated if necessary */
}

2012-11-19 11:37
核晴核理
Rank: 3Rank: 3
来 自:北京
等 级:论坛游侠
帖 子:129
专家分:169
注 册:2012-6-14
收藏
得分:0 
好吧,谢谢两位,我懂了,那里i是指跳过开头的空白符后的第一个字符是不是负号。。。
2012-11-19 13:22
快速回复:因为是电子版的书,所以不确定程序是不是正确的,求大能鉴定
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.014005 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved