Онлайн компилятор 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之间所有整数的平方和,最后输出结果。

- 代码没有检查输入的两个数的大小关系。如果a大于b,循环条件i<=b一开始就不成立,循环不会执行,sum保持为0,这可能是你期望的结果吗?
- 注意变量sum的类型是int,如果平方和的结果超出int能表示的范围(比如a和b很大时),会导致溢出,结果不正确。