ユーザーが正の整数を入力できるようにするプログラムを作成しようとしています。プログラムは、各桁の合計を加算して出力します。たとえば、ユーザーが を入力する54
と、プログラムは を出力します9
。何らかの理由で、プログラムはとてつもなく大きな数値を出力しています。が入力の場合、出力はまたは54
のようになります。私は C プログラミングは初めてですが、このコードに問題はありません。5165451
2191235
//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
}