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
植入部分
如果您觉得文章不错,可以通过赞助支持我。
如果您不希望打赏,也可以通过关闭广告屏蔽插件的形式帮助网站运作。