输出结果是一样的吧
第一段就是不断获取输入整数的末尾数字,没获得一个末尾数字后,将输入整数除以10,通过改变输入的整数,保持其末尾数字是所需要的位数值
第二段的区别是不修改输入的整数值,而通过中间变量来完成相应位数字的获取。比如十位数是n%100/10,n%100就是获得三位数中的后两位数字,然后除以10就得到十位数字。计算过程中没有产生显式的新变量
int * const p;
先看const再看*,p是一个常量类型的指针,该指针的指向不可修改,但该指针指向的地址上存储的值可以修改
用C++之父的方法来记忆:p is a const pointer to int p是一个常量指向整型
既然有指向作用,那么p就是指针,他的类型为常量类型,在该例中他指向整型。
常量类型不可修改,p还是一个常量指针,const限制住了p存储的值不可修改,也就是p的指向不可修改,但是在这个地址上的值是不受限制,可以修改的。
也可以用结合理论来理解,首先p与const结合,限制住了p不可修改;p又是一个指针,也就是说p的指向被限制住了,但是const的作用域也只是限制p,p所指向的值还是可以修改的。