存档

文章标签 ‘小米面试’

IP地址字符串转无符号整型uint—自动机思想【小米、腾讯面试题】

2013年5月6日 4 条评论

---

题:写一个把字符串的IP地址变成32位整数的函数,要求考察程序健壮性。

这个很能考察眼高手低的问题;如果考虑程序健壮性,有很多的非法情况需要考虑,稍有不慎就会有欠考虑的情况;如不考虑非法情况,转换的过程无非就是分解整数,合并这两步;只需两句代码就可以搞定,如下:


sscanf(ipstr, "%d.%d.%d.%d", &a, &b, &c, &d);

return (a<<24)|(b<<16)|(c<<8)|d;

但是考虑程序健壮性就没这么简单了,不过核心思想也就是上面的两句话,下面将各种错误情况定义成状态表,程序如下:

阅读全文...