设为首页 加入收藏

TOP

C++四种强制类型转化的区别
2012-12-10 13:12:24 来源: 作者: 【 】 浏览:266
Tags:强制 类型 转化 区别

    int changestr(char* str)

    2 {

    3        int len = strlen(str);

    4        int sum = 0;

    5        float carry = 1.0/10;

    6        for(int i=0; i<len; i++)

    7        {

    8               carry *= 10;

    9               sum += (str[len-1-i]-'0')*carry;

    10        }

    11        return sum;

    12 }

    其中sum为carry为当前位之前的值.

    str[len-1-i]-'0‘是表示将字符的ascii码减去0的ascii码,最后出来的数字就是需要的数字.

    每次*10的话就把当前位往前移了.

    *改进了算法,增加了支持负数,以及碰到有问题的字符就会throw exception

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇“我最喜爱的编程语言”排行榜 (.. 下一篇C++返回值

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: