#c
При вводе больших значений я решил использовать функцию getchar(). Программа не выдаёт никаких результатов. Правильно ли я использую функцию getchar() Если правильно, то в чём проблема? Программа выглядит вот так. #include#include #include int main() { int a[100], b[100], c[100], i = 0, j, m = 0; int n = 0, d = 0; while((n = getchar()) != EOF) { a[i] = n; i++; } while((d = getchar()) != EOF) { b[m] = d; m++; } for(j = 0; j < i; j++) { c[j] = a[j] + b[j]; } for(j = 0; j < i - 1; j++) { printf("%d", c[j]); } printf("%d\n", c[j - 1]); getch(); return 0; }
Ответы
Ответ 1
getchar() - не совсем подходящая функция. Она запрашивает только 1 символ и дальше требует ввода Enter. Надеяться на то, что она будет брать последующие цифры из буфера тоже не стоит. Запросить длинное число лучше сначала в виде строки, а потом сделать преобразования, пример: int count; // для длины строки int i; // щечики int longNumber[100]; // длинное число char tmp[100]; // буфер для длинного числа gets (tmp); // запрашиваем длинное число count = strlen(tmp); // определяем длину введенного числа // перенос в массив longNumber(int) for (i=0; i
Комментариев нет:
Отправить комментарий