我看各种语言编写的程序,基本都是:要对形参进行运算就把形参值赋给另一个新定义的变量,然后再运算该变量,而不是直接对形参进行运算。这其中有什么讲究吗?
比如下面这段代码,可以用n进行运算,却要赋给i再进行(这段代码也是我在网上看到的)
//判断n是否为回文数
bool symm(unsigned n){
unsigned i = n;
unsigned m = 0;
while(i > 0){
m = m * 10 + i % 10;
i /= 10;
}
return m == n;
}
没什么讲究
如果形参带&
直接参与运算会修改形参原来的值
可能就是防止修改到形参的值吧
自己注意就行了,如果不希望形参的值改变,可以添加const
………………我这么说可能有点苛刻了,你还没入门吧。
形参当然可以参加计算啊,没什么讲究,看你的意图和需求是什么。
你贴的这段代码。
1. 要保留传入的参数的值,以便最后一句m == n 判等,所以没让形参参与计算。
2. 又要根据形参的值剥离出它的的个位十位百位上的数子,因此用一个变量 i 先记录下形参的值,然后剥离 i,得到每一位上的数字。
3. 将 usigned m =0;这一句以后所有的 i 换成 n, n换成 i, 你试试输出有变化吗?没有啊。这说明什么?说明你用形参取计算还是另取一个变量去计算没有区别,大兄弟。
没有什么讲究,看需求,看你想用形参这个变量干嘛。
以上