Я сделал код для сравнения температуры недели.
Я сделал две функции: одну для записи в массив, другую для расчета средней температуры. Компилируется без ошибок. Как только я ввожу свой первый номер, приложение падает, и я получаю эту ошибку в stdio.h lib:
Исключение по адресу 0x533C742E (ucrtbased.dll) в 7.3.exe: 0xC0000005: место записи нарушения прав доступа 0xCCCCCCCC.
Я сделал подобное упражнение без функций, и оно работало отлично. Надеюсь, вы, ребята, можете мне помочь. Вот мой код
#include <stdio.h>
#define MAX 7
#define _NO_CRT_STDIO_INLINE
void read(int);
float gem(int);
int main(void)
{
float x = 0;
int temp[MAX];
read(temp[MAX]);
x = gem(temp[MAX]);
printf("%f", x);
}
void read(int k[MAX])
{
for (int i = 1; i < 8; i++)
{
printf("geef de temp voor dag %d ", i);
scanf_s("%d%*c", &k[i-1]);
}
}
float gem(int y[MAX])
{
int som = 0;
float gem = 0;
for (int i = 0; i < 8; i++)
{
som += y[i - 1];
gem = som / 7;
return gem;
}
}
y[i - 1];
получить доступy[-1]
, еслиi == 0
- person BLUEPIXY   schedule 25.10.2017void read(int)
будет равноvoid read(int k[MAX])
? Возможно, вам следует сделать несколько шагов назад и прочитать пару хороших книг для начинающих< /а>. - person Some programmer dude   schedule 25.10.2017gem = som / 7; return gem;
-->gem = som / 7.; return gem;
(илиgem = (double)som / MAX; return gem;
) и перейти после цикла for. - person BLUEPIXY   schedule 25.10.2017