我正在尝试制作一个允许用户输入正整数的程序,该程序将输出每个数字相加的总和。例如,如果用户输入54
,程序将输出9
。出于某种原因,该程序正在输出异常巨大的数字。何时54
是输入,输出将读取类似5165451
or的内容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
}