Возможно, вы не хотите загружать все эти 200 цифр в память. Когда все, что вы хотите рассчитать, - это сумма цифр, тогда все, что вам нужно во время вашей программы, - это какая-то переменная аккумулятора, хранящая сумму цифр до сих пор. Тип этой переменной может быть int
, потому что 200 * 9 <= INT_MAX
всегда будет верно в соответствии реализаций С.
#include <stdio.h>
int main(void) {
int accumulator = 0;
int read_result;
printf("Enter a number:-");
while (1) {
read_result = fgetc(stdin);
if ('0' <= read_result && read_result <= '9') {
accumulator += read_result - '0';
} else {
break;
}
}
printf("The sum of the digits is %d", accumulator);
return 0;
}
Большое спасибо за ваше объяснение ... :) –