while语句清除循环内变量数据,怎么破?
程序如下#include <stdio.h>
int main(void)
{
int a, b;
int square1, square2, square_sum;
int i;
printf("Enter lower and upper integer limits: ");
while(scanf("%d%d", &a, &b))
{
if(a <= b || (a != 'q' && b != 'q'))
{
for(i = a; i <= b; i++)
square_sum += i*i;
square1 = a*a;
square2 = b*b;
printf("The sums of the squares from %d to %d is %d\n", square1, square2, square_sum);
printf("Enter next set of limits: ");
}
else
printf("Done\n");
}
return 0;
}
两点问题,第一,重新输入数据之后平方和会和上次循环剩下的数据叠加,导致错误;
第二,这个程序我输入相等的两个数仍然会进入第一个循环,且当我输入q的时候程序直接停止,由于我使用的编译器多次出问题,所以请各位大神帮我测试下这波是我的软件问题还是程序有误。