我想做一个程序,允许用户输入一个正整数,并且程序将输出每个数字加在一起的总和。例如,如果用户输入54
,程序将输出9
。出于某种原因,该计划正在输出巨大的数字。当输入为54
时,输出将读取类似5165451
或2191235
的内容。我是新的C++编程,但我没有看到一个单一的东西错这个代码..为什么我通过这个程序获得大量的输出?
//This program takes a positive integer
//from the user, and adds all the digits
//of the number together.
#include <stdio.h>
int main() {
system("clear");
int given, add, hold, i;
printf("Enter a positive integer (up to 10 digits): ");
scanf("%d", &given); //User input
for (i = 0; i < 10; i++) { //Loop to add digits
hold = (given % 10);
given = (given/10);
add = (add + hold);
}
printf("Sum of the digits is %d\n", add); //Output
}
你没有初始化'add'。 – cnicutar
这可能是我的,但我从来没有听说过“明确”是一个命令。也许你正在那里寻找'cls'。 – chris
我的直觉告诉我这是因为你还没有将'add'初始化为0.编辑:哎呦,太慢 –