Используя C, я пытаюсь суммировать числа в файле. Файл содержит номера, такие как:Пытается суммировать значения из текстового файла, получая нераспознанный символ в качестве вывода?
123
456
788
...
356
При выполнении кода, он правильно запрашивает для ввода и печатает номер я вхожу. Однако он не суммирует файл и просто отображает непризнанный символ символа, как маленький?. Я не думаю, что этот номер находится над выделенным INT_MAX_SIZE. Какая проблема?
#include <stdio.h>
main() {
//Number variable to assign each line to
int c;
int fds[2];
int childid;
int size;
int number;
int sum;
printf ("Enter the number of processes to create: ");
scanf ("%d", &number);
printf ("You entered: %d", number);
printf("\n");
//File I/O operations
FILE *file;
//Open file for reading
file = fopen("Project1_OS/project1_data/file1.dat", "r");
//If file is found
if (file) {
//While file has data to be read
while ((c = getc(file)) != EOF)
//Print data
//putchar(c);
sum+=c;
//Close the file I/O
fclose(file);
}
putchar(sum);
}
putchar не работает. вам нужен printf вместо –
1. 'sum' не инициализирован. 2. Вы читаете символы ascii, а не целые числа. Вам нужно преобразовать то, что вы читаете из символов/строк, в целые числа перед суммированием. – kaylum
Исправлено! Спасибо @pfannkuchen_gesicht :) –