Я пишу метод, который получает число l и возвращает вектор размера l со случайными числами. У меня есть этот код, но не работаетC - функция возвращает массив
#include <time.h>
int makea (int z) {
int a1[z];
int i;
for (i = 0; i < tam; i++) {
a1[i]=srand(time(0));
}
return a1;
}
Эти ошибки, компилятор возвращает мне
arrays1.c: In function 'makea':
arrays1.c:12: error: void value not ignored as it ought to be
arrays1.c:14: warning: return makes integer from pointer without a cast
arrays1.c:14: warning: function returns address of local variable
Я думаю, это проблема указателей ... но я не совсем уверен,
Вы _can't_ возвращаете массивы из функций в C, вам нужно вернуть указатель на массив. Попробуйте использовать malloc для создания массива. –
Прежде всего, это очень простой вопрос и ответ в любой книге C (K & R, c-faq). 2) когда вы выдаете сообщение об ошибке, убедитесь, что вы помечаете строки (12,14) в коде (скопируйте и вставьте из IDE или сделайте это вручную). – AoeAoe
Btw, C не использует «методы», он использует функции. – AoeAoe