я получаю выход 100
, когда я делаю то, что все остальные в Интернете уже отправлял о:Подсчет числа элементов в массиве в C
int total = sizeof(num)/sizeof(int);
Это не похоже на работу для меня. Вот мой код:
int main() {
static int num[100];
int totalNum = sizeof(num)/sizeof(int);
return 0;
}
void readNumbers(int* num) {
int i = 0;
FILE *fp;
fp = fopen("/Users/Documents/hello.txt", "r");
if (fp == NULL) {
printf("Could not load file");
exit(0);
}
/* Loads numbers into num array */
int number;
while(fscanf(fp, "%d", &number) > 0) {
num[i] = number;
i++;
}
}
Мой выход 100 поэтому я предполагаю, что нет ничего, что вставляется в массив NUM? И если я распечатаю sizeof(num)
, это даст мне сто; 4 байта * 100 = 400.
Вот что в hello.txt
:
14 21 39 48 109 3882
'readNumbers()' никогда не вызывается в коде, который вы указали. И ваша строка формата в 'fscanf()' отсутствует скобка. –
Данный код даже не компилируется. Пожалуйста, укажите * точный * код. –
Хороший вопрос состоит из четырех частей. 1. Что вы сделали. 2. Какой результат вы получите от этого. 3. Что вы ожидали, что выход будет 4. Почему вы ожидали, что результат будет другим. –