在线编译器 C

#include <stdio.h> int main() { int a, b, i, sum = 0; scanf("%d%d", &a, &b); for (i = a; i <= b; i++) sum += i * i; printf("%d", sum); return 0; }
这段代码的目的是计算从 a 到 b 之间所有整数的平方和。它读取两个整数 a 和 b,然后循环累加每个数的平方,最后输出结果。

- 注意 for 循环后面直接跟了一个空行,没有大括号。在 C 语言中,for 循环默认只控制紧随其后的第一条语句,所以 `sum += i * i;` 确实在循环内,但代码的缩进可能造成误解。建议检查循环体是否应该包含更多语句,或者是否需要明确使用大括号来避免歧义。
- 如果 a 大于 b,循环条件 `i <= b` 一开始就不成立,循环不会执行,sum 保持为 0。考虑是否需要处理这种情况,比如交换 a 和 b 的值,或者提示用户输入错误。