C 将字符串s转换为相应的整数型
将字符串s(实际上是数字)转换为相应的整数型。
来看一下这个:
1int atoi(char s[])
2{
3 int i, n;
4
5 n = 0;
6 for (i = 0; s[i] >= '0' && s[i] <= '9'; ++i)
7 n = 10 * n + (s[i] - '0');
8
9 return n;
10}
11
刚开始的时候没看懂为什么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
评论 (0)