C 将字符串s转换为相应的整数型

将字符串s(实际上是数字)转换为相应的整数型。

来看一下这个:

int atoi(char s[])
{
    int i, n;

    n = 0;
    for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
        n = 10 * n + (s[i] - '0');

    return n;
}

刚开始的时候没看懂为什么n = 10 * n + (s[i] - '0');,然后就试着运行了一下,发现确实,如果输入56的话,输出就是56(但肯定改变了类型)

虽然还没有学到数组那个章节,可是根据前面所说的,字符串其实是字符分开储存成数组(最后有\0[当然可以忽略NULL]),他字符一格格储存的,换句话说s[0] = 5; s[1] = 6;差不多类似于这种,然后就好理解了。

关于'0'可见:http://codesky.me/archives/c-variable-const-type.wind

植入部分

如果您觉得文章不错,可以通过赞助支持我。

如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。

标签: 成品, 源码, 代码段

添加新评论