这段代码定义了一个函数 `digit_sum`,用于计算一个无符号整数的各位数字之和。它通过循环不断取末位数字并累加,最后返回总和。 - 你的代码在 `n` 小于10时直接返回 `n`,这是正确的。但注意,当 `n` 为0时,你返回了 `n`,这也能得到0,但逻辑上可以更简洁。 - 循环条件 `while(n/10!=0)` 会在 `n` 变成个位数时退出,但此时你漏掉了最后一位数字。例如输入123,循环会处理12和1,但退出时 `n` 是1,这个1没有被加到 `temp` 中。你需要考虑循环结束后如何处理剩余的个位数。