我在Project Euler上做了第一个问题。
我有以下代码:
#include <stdio.h>
int main() {
int number;
int sum;
while (number < 1000) {
if (number % 3 == 0 || number % 5 == 0) {
sum += number;
number++;
}
else {
number++;
}
}
printf("The answer is %d", sum);
return 0;
}
当我通过compileonline.com编译时,我得到233168.当我在gcc中编译它时,我得到2686824.是什么导致了这种差异?
答案 0 :(得分:3)
Compileonline可能会初始化变量。
您必须手动初始化它们。
#include <stdio.h>
int main() {
int number = 0;
int sum = 0;
while (number < 1000) {
if (number % 3 == 0 || number % 5 == 0) {
sum += number;
number++;
}
else {
number++;
}
}
printf("The answer is %d", sum);
return 0;
}