在线编译器 C

#include <stdio.h> int main() { int a,b,sum=0; scanf("%d%d",&a,&b); int i=a; while(i<=b) { sum=sum+i*i; i++; } printf("%d",sum); return 0; }
这段代码的功能是:从用户输入的两个整数a和b(假设a≤b),计算从a到b之间所有整数的平方和,并输出结果。

- 你的循环变量i从a开始,每次增加1,直到b为止,每次累加i的平方到sum中。这个逻辑是正确的。
- 但是,代码没有处理a可能大于b的情况。如果用户输入a=5, b=2,循环条件i<=b一开始就不成立,sum保持为0,结果可能不符合预期。
- 另外,scanf的返回值没有检查,如果输入不是整数,程序可能会出错。