这段代码的功能是:读入一个整数,计算它各位数字的和与积,然后判断两者是否相等,相等输出YES,否则输出NO。 - 你的代码没有处理输入数字为0的情况。当n=0时,while循环不会执行,sum保持0,product保持1,结果会输出NO。但0的各位数字只有0,和与积都是0,应该输出YES。你需要考虑如何让循环至少执行一次,或者单独处理n=0的情况。 - 另外,如果输入的数字包含0,比如102,乘积会变成0,而和是3,结果输出NO,这符合逻辑。但要注意,如果数字是负数,你的代码会直接跳过循环,输出NO。题目可能只考虑正整数,但你可以思考是否需要处理负数。