欧几里得算法代码第一次迭代中number1的赋值取值疑问
欧几里得算法代码第一次迭代的变量值分析
当传入number1 = 36和number2 = 27时,第一次迭代的执行顺序严格按代码行依次进行:
- 第一步:
temp = number2;—— 此时temp被赋值为27(即初始的number2值) - 第二步:
number2 = number1 % number2;—— 计算36 % 27得到9,number2被更新为9 - 第三步:
number1 = temp;——temp的值在第一步就已固定为27,后续number2的更新不会改变temp,所以此时number1被赋值为27
结论:第一次执行number1 = temp这行代码时,number1的值是27,和之后number2被更新为9没有关系,因为temp早就在number2更新前保存了原始值。
内容的提问来源于stack exchange,提问作者Simon Riley
相关产品推荐
相关产品推荐

