169 похожих чатов

А можно вопрос? Мне сегодня сказали что у меня функция

(которая просто заполняет массив значениями) не правильная

void Full(double * arr, int n)
{
for (int i = 0; i < n; i++)
arr[i] = Function(i);
//Function - это просто функция которое принимает число и делает некоторые преобразования
}
Мне сказали что функция не правильная, потому что ничего не возвращает, и сказали добавить double* и возвращать массив, но в итоге в main просто нужно писать Full(arr, 10). Объясните зачем там нужен double* если функция просто заполняет массив?

7 ответов

22 просмотра

Возможно, от тебя хотят, чтобы можно было писать Full(Full(arr, n), n)

† C-E † Автор вопроса

Может это правила хорошего тона?

† C E †
Может это правила хорошего тона?

Обычно в С если нужно что-то одно вернуть, то это возвращают. А если нужно допустим на основе данных что-то сделать и допустим в массив какой-то записать, то делают так: int print_and_count(const char* str, int* count_output) { printf(str); int count = 0; if(strlen(str) > 1024) return 24; // код ошибки например for(int i = 0; i < strlen(str); ++i) if(str[i] > 0) ++count; *count_output += count return 0; // код успешного выполнения }

The Bird of Hermes
Почему 0 код успешного

ну в CURL том же пишут if(recv_что-тотам != NULL) { делаем что-то с ошибкой }

= ?
Обычно в С если нужно что-то одно вернуть, то это ...

То есть если тебе нужно что-то сделать то можно данные записать в указатель переданный в качестве параметра функции. А в возвращаемом значении что-то другое вернуть допустим код ошибки. Но для твоего примера где надо массив изменить просто, я не знаю что от тебя ещё хотят. Передал массив (указатель на начало), передал размер, изменил массив по указателю. Всё отлично вроде. @ololol666jg

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта