为啥选d,我咋感觉为108呢

img

这个题目明显是有问题的,这是一个死循环。
题目的本意是求两个数的最大公约数。题目的错误在于r=m&n,应该是r=m%n才对。
如果是r=m&n,那么r=24&18,此时r=16。一次循环之后,m=18,n=16。
第二次循环中,r=18&16,此时r=16.第二次循环之后,m=16,n=16.一直死循环下去。
如果改成r=m%n,则为经典的求最大公约数的程序,答案选D。