Мой код C выглядит так:
#include <stdio.h>
int main( int argc, char ** argv){
FILE *myFile;
myFile = fopen("numbers.txt", "r");
//read file into array
int numberArray[16];
for (int i = 0; i < 16; i++){
fscanf(myFile, "%1d", &numberArray[i]);
}
for (int i = 0; i < 16; i++){
printf("Number is: %d\n", numberArray[i]);
}
}
Мой файл numbers.txt содержит следующие значения:
5
6
70
80
50
43
Но по некоторым причинам мой вывод
Number is: 5
Number is: 6
Number is: 7
Number is: 0
Number is: 8
Number is: 0
Number is: 5
Number is: 0
Number is: 4
Number is: 3
Number is: 0
Number is: 0
Number is: 4195904
Number is: 0
Number is: 4195520
Number is: 0
Однако я ожидаю, что он напечатает numberArray, чтобы распечатать идентичное содержимое текстового файла.Я не совсем уверен, почему он это делает, кто-нибудь случайно знает причину?Мне известно, что я делаю массив больше, чем количество значений, которое я могу сохранить, но я все еще не понимаю, почему он не может хранить 70, 80 и т. Д. В одном индексе?