这段代码试图从输入中读取一系列整数,找到其中的最大值,并在遇到0时停止。但最后输出的不是最大值,而是最后一个读取的值。
- 在 `printf("%d", n);` 这一行,你输出的是变量 `n`,但此时 `n` 保存的是循环中最后读取的值(可能是0或最后一个非零数),而不是你计算出的 `max`。应该输出 `max` 才对。
- 另外,第一个 `if` 语句只处理了第一个数,但如果第一个数就是0,程序会直接进入循环并立即退出,此时 `max` 没有被正确初始化。考虑一下当输入的第一个数就是0时,程序应该输出什么?