1 c
我是编程的新手,也是这个网站的新手,所以你好......我试图获得10到10之间整数的运行总数,但是我得到了胡言乱语的答案,我只是无法理解为什么.为了试图找出问题所在,我补充说
printf(" running total is %d\n", sum);
Run Code Online (Sandbox Code Playgroud)
线路到while循环,但只是得到了更多相同的废话...请参阅http://codepad.org/UxEw6pFU的结果....
我确信这有一个非常明显的解决方案......我只是太傻了看不过它!有谁知道我做错了什么?
#include <stdio.h>
int main(void) {
int count,sum,square;
int upto=10;
count = 0;
square = 0;
while (++count < upto) {
square = count * count;
printf("square of %d is %d",count,square);
sum =square + sum;
printf(" running total is %d\n", sum);
}
printf("overall total of squares of integers 1 thru 10 is %d\n", sum);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
您需要将sum初始化为0.
编辑正如其他人在事后声明的那样,你看到垃圾的原因是因为sum没有初始化并且包含内存中的内容.它可以是任何东西,你使用它将sum = square + sum为未初始化的值增加平方.