8楼,把你那改掉,别误导小孩!
以下是引用shanyaoshan在2012-12-11 19:06:23的发言:
请高手详细解释一下这句n = (n<<1)+p[i]-'0';
<<在这里是左移运算符,n<<1表示将n左移一位,也就是n*2d的意思,左移几位就乘几次2
p[i]-'0'表示将字符转化为数字,如字符'1'转化为数字1
n = (n<<1)+p[i]-'0';表示先给n左移一位,再加上字符转化后的数字,再将和赋给n
总的来说,初始化n=0,给n左移一位实现不了程序的功能,应该给n乘10
如果硬要这么写的话,那就n = (n<<1)*5+p[i]-'0'也行
[
本帖最后由 小小战士 于 2012-12-11 19:45 编辑 ]