代码是从一个我觉得很好的网站上拷贝来的,当然我也读了它的全文,其中有几点不太了解。
1. 为啥定义的数组是256个的【因为ascii码是8位的,就是256】
2. s1[i]最后出来的其实是一个字符,但是却又能用作数组的下标。【这个是允许的int['a']其实就是拿a的ascii码出来】
3. 就算数组的下表是允许这样用的,我感觉这样可能会把字母认成一个ascii码,但是其实不是,网上查了一下,好像对应不起来。【可能看错了,其实char能转化成short,short能转化成int,所以下标才能是int】
4. 有一个其他的问题就是如何知道这个int数组的长度,用sizeof好像出来的是1024,也就是256*4,因为每一个int是4个字节的,32位长嘛。【一般要知道长度就是sizeof(bit)/sizeof(bit[0])】
另外代码的效率也是有点问题的:
其实不需要第三遍的循环。以下是改进后的算法。