и о прочих краеугольных случаях, которые Вы описываете, я тоже подумал — но в какой-то момент комментарий стал выглядеть черезчур уж громоздким, и потому осетра пришлось урезать.
Выбор правильного типа переменной для приёма значения от strlen нисколько не загромождает текст, оправдываться здесь бесполезно.
А так — да, нюансов много, очень много. Но кто про них будет читать?
Это — не те нюансы.
Вы пишете код на C на уровне джуна. Само по себе это ни о чём не говорит.
Но когда вы начинаете чваниться перед молодежью своими умениями, это уже — совсем другое дело.
В приведённом коде нет indirection operator. Семантически говоря. Это как раз один из моментов в С, с которым отцы недоработали — выражение *p имеет совершенно разную семантику в зависимости от контекста. Прежде всего — declaration vs. evaluation.
Декларация — это не expression, а в данном случае рассматривается expression.
А sizeof “работает” во время компиляции, а не исполнения, нет ни малейшей необходимости в разыменовывании, компилятору нужно лишь вывести тип операнда.
Это и есть невычислимый контекст.
Отношение к стандарту у автора тоже доставляет. Но с учётом того, что ему (ей вообще-то) всего лишь 20 лет от роду, можно и простить это лёгкое невежество.
Нельзя, поскольку усвоившим неверные сведения потом придётся переучиваться.
Функция malloc может вернуть NULL со всеми вытекающими последствиями.
В коде нет освобождения памяти, и дело не в оправданиях, что, мол, это — просто пример. В этом коде принципиально невозможно освободить память.
Если в последнем разряде был перенос, то функция mega_add вернёт ровно тот адрес, который вернула функция malloc. Если же переноса не было, то функция mega_add вернёт адрес на 1 больше.
Определить в функции test, был перенос или нет, невозможно, поэтому невозможно и передать правильный адрес функции free. Соответственно, освобождение памяти здесь принципиально невозможно.
Если добавить в mega_add вывод некоторых значений:
видно, что функция test получила в переменную s ровно тот же адрес, который был выделен функцией malloc в mega_add и запомнен там в переменной result_str.
Видно, что сложение числа 9 с огромным числом, состоящих из более, чем 2-х миллиардов цифр 9, в результате, дало всего лишь число 9, состоящее из одной цифры.
Колоссальная скорость генерации ответа. Раз в 10 быстрее, чем ChatGPT/DeepSeek. Но, правда, по мере увеличения нити обсуждения скорость заметно падает. Но все равно остаётся высокой, лучше, чем у конкурентов.
"Думает", правда, пока только по-английски. Но там замечание есть, что эта feature'а — экспериментальная.
"Думает" не так, как другие ИИ. Такое впечатление, что обучен отдельно от других ИИ.
В целом, схватывает мысли очень чётко и тонко. Если не тупит и не ошибается, отвечает точно и качественно. Может ошибаться и в упор не видеть ошибки в простых вещах. Однако, если пытаться всё сильнее и сильнее разжёвывать, но не выдавать ответа, догадывается самостоятельно.
Хорошо, когда — конкуренция. Глядишь, нащупают способ и начнут зачатки интеллекта внедрять в эти интуиционные движки.
Знаком, пытался использовать, но получалось хуже. У меня нет точного значения прибыли сколько я получу со сделки. Я выхожу из сделки по состоянию рынка.
На рынке трудно только первые 10 лет, дальше уже становится легче.
Конечно можно входить малой частью от депозита с плечом до ликвидации, однако эта стратегия хоть и увеличивает количество успешных сделок, но приносит меньше профита.
Вы знакомы с "оптимальным F"?
По-моему, главная проблема в вашем случае ― отсутствие теоретической базы знаний.
Вышеупомянутый джун, которого попросят написать вычисление среднего арифметического нуля чисел, тоже несколько прифигеет.
Однако вы утверждали, что он так не напишет.
Но не волнуйтесь Вы так
Вы уже не первый раз ошибочно полагаете, что я волнуюсь. И почему-то считаете, что я "прифигел" от деления на 0.
я тут всё‑таки комментарий на обороте салфетки пишу — а в реальной программе «видишь операцию деления — пиши проверку знаменателя на 0. Это была привычка, выработанная у Штирлица годами.»
Это больше похоже на поток сознания со слабо-восстановимым контекстом, то есть, понять, что же именно здесь имелось ввиду, весьма проблематично.
«Слухи о моей смерти несколько преувеличены»
Причём тут смерть?
Похоже, вы общаетесь с выдуманным вами образом меня, а не со мной, выдумывая касательно меня вещи, которых в реальности не существует.
Наверное это — один из инструментов самообмана для поддержания самоиллюзии:
Время покажет — и я, как обычно,окажусь прав.
В рамках самоиллюзии — не сомневаюсь, что вам это удастся.
например, на вопрос «каким по порядку элементом в массиве [ 1, 2, 3, 3, 8 ] является число 3?» ответом является [3, 4])
Нет, не является.
Данный ответ является ответом на вопрос «какими по порядку элементами в массиве [ 1, 2, 3, 3, 8 ] являются числа 3?»
Тот же вариант вопроса, который привели вы, — неоднозначен: неясно, о каком из двух чисел 3 вопрос.
Чем-то он похож на вопрос о том, сколько дочек у Натали.
— в том числе и пустое (как, скажем, «каким по порядку элементом в массиве [ 1, 2, 3, 3, 8 ] является число 5?»
Вопрос — неверный (некорректный).
В каждом вопросе, как правило, есть (неявное) утверждение.
В данном вопросе таким (неявным) утверждением является наличие числа 5 в качестве элемента в массиве.
Данное утверждение — ложно, поэтому вопрос — некорректен.
Вы постоянно говорите, что вас учили. С какого-то момента человек должен начать учиться самостоятельно, иначе он так и останется жалким подобием учителей, которые его когда-то учили.
Кстати, хвастаться знакомством с ДЛ/ДТЛ, имея ввиду своё неявное превосходство за счёт накопленного опыта, — довольно глупо, потому что то, что было в то время, было очень простым и его было исчезающе мало по сравнению с тем, что есть сейчас.
Но чтобы понять, что ссылаться на это бессмысленно, требуется уже уметь учиться самостоятельно, а не чтобы кто-то учил.
В наши дни ИИ — это искусственная интуиция, а не интеллект, поэтому такие ответы она выдаёт именно потому, что ей так кажется и ни почему больше.
И именно поэтому ИИ не может объяснить свои ответы.
Собственно, человек тоже не может, обращаясь к своей интуиции, объяснить почему ему кажется именно так, а не иначе.
Совершенно никак не может. Но совершенно чётко при этом ощущает, что ему кажется именно так.
Свойство интуиции.
Когда изобретут технологию, которая будет являться неким аналогом человеческого интеллекта, тогда и можно будет начать говорить о том, что ИИ думает, и задавать вопросы, кого он сможет заменить на рабочем месте, и в каком десятилетии мог бы быть совершён переход к коммунизму или аналогичному устройству общества, потому что работать, чтобы жить, человечеству уже не будет необходимости.
Сейчас же ИИ выдаёт лишь то, что ей кажется, не больше.
Именно поэтому у ИИ и имеют место галлюцинации, а также, порой, бесконечная тупость: интуиция — не думает, вместо этого она выдаёт ровно то, что ей кажется, и поэтому ей строго наплевать на логичность или нелогичность выдаваемого.
Какая вообще может быть логичность, когда довольно сильно кажется, что должно быть именно так, а не иначе?
Изобрели аналог интуиции и пока широко не осознали это. Видимо, сначала должны это осознать, чтобы направить усилия в нужное русло, тогда и появится реальный шанс на настоящий ИИ.
Выбор правильного типа переменной для приёма значения от
strlen
нисколько не загромождает текст, оправдываться здесь бесполезно.Это — не те нюансы.
Вы пишете код на C на уровне джуна.
Само по себе это ни о чём не говорит.
Но когда вы начинаете чваниться перед молодежью своими умениями, это уже — совсем другое дело.
Декларация — это не expression, а в данном случае рассматривается expression.
Это и есть невычислимый контекст.
Нельзя, поскольку усвоившим неверные сведения потом придётся переучиваться.
Судя по вашему коду, молоко на губах не обсохло у кое-кого другого:
Функция
strlen
возвращает значение беззнакового типа.К тому же, этот тип может иметь размер, превышающий размер типа
int
.В результате, могут получиться как отрицательные значения, так и значения, значительно меньшие, чем настоящий размер "чисел".
Лишь стажёры и джуны ещё могут допускать такие ошибки.
Функция
malloc
может вернутьNULL
со всеми вытекающими последствиями.В коде нет освобождения памяти, и дело не в оправданиях, что, мол, это — просто пример. В этом коде принципиально невозможно освободить память.
Если в последнем разряде был перенос, то функция
mega_add
вернёт ровно тот адрес, который вернула функцияmalloc
.Если же переноса не было, то функция
mega_add
вернёт адрес на 1 больше.Определить в функции
test
, был перенос или нет, невозможно, поэтому невозможно и передать правильный адрес функцииfree
.Соответственно, освобождение памяти здесь принципиально невозможно.
Если добавить в
mega_add
вывод некоторых значений:и в функцию
test
— тоже, и ещё, оставив вывод только результата, без самих чисел:и переписать функцию
main
:то после запуска можно увидеть:
По значению
result_str
видно, что функцияmalloc
вернулаNULL
, потому что не смогла выделить 18 квинтиллионов байт памяти.Последствия не замедлили последовать, потому что в коде нет проверки значения, возвращаемого функцией
malloc
.Ещё два варианта
main
, первый:и второй:
В первом случае:
видно, что функция
test
получила в переменнуюs
ровно тот же адрес, который был выделен функциейmalloc
вmega_add
и запомнен там в переменнойresult_str
.Во втором же случае:
видно, что функция
test
получила в переменнуюs
адрес, на 1 больше по сравнению с тем, который был выделен функциейmalloc
вmega_add
.Определить, увеличенный это на 1 адрес или нет, в общем случае невозможно.
Поэтому невозможно и правильно вызвать
free
.Ещё один вариант функции
main
:Результат:
Видно, что сложение числа 9 с огромным числом, состоящих из более, чем 2-х миллиардов цифр 9, в результате, дало всего лишь число 9, состоящее из одной цифры.
Рановато вам ещё перед молодёжью чваниться.
Только в вычислимых контекстах.
Здесь нет UB, несмотря на разыменование
NULL
-указателя:Стандарт всегда считался истиной в последней инстанции.
Да, в режиме "Deep Research" думает по-русски, а в режиме "2.0 Flash Thinking (experimental)" — по-английски.
Колоссальная скорость генерации ответа.
Раз в 10 быстрее, чем ChatGPT/DeepSeek.
Но, правда, по мере увеличения нити обсуждения скорость заметно падает.
Но все равно остаётся высокой, лучше, чем у конкурентов.
"Думает", правда, пока только по-английски.
Но там замечание есть, что эта feature'а — экспериментальная.
"Думает" не так, как другие ИИ.
Такое впечатление, что обучен отдельно от других ИИ.
В целом, схватывает мысли очень чётко и тонко.
Если не тупит и не ошибается, отвечает точно и качественно.
Может ошибаться и в упор не видеть ошибки в простых вещах.
Однако, если пытаться всё сильнее и сильнее разжёвывать, но не выдавать ответа, догадывается самостоятельно.
Хорошо, когда — конкуренция.
Глядишь, нащупают способ и начнут зачатки интеллекта внедрять в эти интуиционные движки.
Для кого — как.
Вообще, это вопрос выбора.
Но чтобы сделать его для себя правильно, важно располагать верной информацией.
Возможно, для кого-то — ещё не время для рынка, можно заняться пока чем-то другим, но это не обязательно должен быть завод.
На рынке трудно только первые 10 лет, дальше уже становится легче.
Вы знакомы с "оптимальным F"?
По-моему, главная проблема в вашем случае ― отсутствие теоретической базы знаний.
А постановлять-то кто будет?
По короткой шкале закончатся через 200 лет, по длинной — через 400.
Не вижу там механизма конструирования названий чисел произвольного размера.
7.5 миллионов биткоинов?
Вы хотите сказать, что у него была треть всех биткоинов мира?
А где в стандартах C/C++ что-то о posix-thread?
https://en.cppreference.com/w/c/thread
https://en.cppreference.com/w/cpp/thread
Поразительно напоминает autosurfing 20-летней давности, 12dailypro и тому подобное.
У интуиции нет смыслов.
Именно поэтому она может откровенно начать бредить.
Это — не прикол, это — следствие.
Следствие того, что ИИ — это искусственная интуиция, а не интеллект.
Именно так и работает интуиция.
То есть, вы туманно пишете специально, чтобы потом в ответе можно было это как угодно вывернуть.
Похоже, вы здесь тупо развлекаетесь, обсуждаемый вопрос вас не интересует, поэтому и "простынь" вам "лень" было обсуждать, ибо там было — по теме.
О, это потом можно будет вывернуть особенно извращённым способом...
Нет, тут выверт с натяжкой получился.
Однако вы утверждали, что он так не напишет.
Вы уже не первый раз ошибочно полагаете, что я волнуюсь.
И почему-то считаете, что я "прифигел" от деления на 0.
Это больше похоже на поток сознания со слабо-восстановимым контекстом, то есть, понять, что же именно здесь имелось ввиду, весьма проблематично.
Причём тут смерть?
Похоже, вы общаетесь с выдуманным вами образом меня, а не со мной, выдумывая касательно меня вещи, которых в реальности не существует.
Наверное это — один из инструментов самообмана для поддержания самоиллюзии:
В рамках самоиллюзии — не сомневаюсь, что вам это удастся.
А когда потом
n
в какой-то момент времени в будущем окажется равным0
, будет очень интересно.Но я писал несколько не о том.
Вот видите.
Судя по вашему подходу, с течением времени процент случаев, в которых вы окажетесь правы, будет неуклонно падать.
И уж в число тех самых "не только лишь все" вы, без сомнения, входите?
Вы действуете так, как вас научили, не пытаясь взглянуть глубже самостоятельно.
Ни к чему хорошему это не приведёт.
Нет, не является.
Данный ответ является ответом на вопрос «какими по порядку элементами в массиве [ 1, 2, 3, 3, 8 ] являются числа 3?»
Тот же вариант вопроса, который привели вы, — неоднозначен: неясно, о каком из двух чисел 3 вопрос.
Чем-то он похож на вопрос о том, сколько дочек у Натали.
Вопрос — неверный (некорректный).
В каждом вопросе, как правило, есть (неявное) утверждение.
В данном вопросе таким (неявным) утверждением является наличие числа 5 в качестве элемента в массиве.
Данное утверждение — ложно, поэтому вопрос — некорректен.
Вы постоянно говорите, что вас учили.
С какого-то момента человек должен начать учиться самостоятельно, иначе он так и останется жалким подобием учителей, которые его когда-то учили.
Кстати, хвастаться знакомством с ДЛ/ДТЛ, имея ввиду своё неявное превосходство за счёт накопленного опыта, — довольно глупо, потому что то, что было в то время, было очень простым и его было исчезающе мало по сравнению с тем, что есть сейчас.
Но чтобы понять, что ссылаться на это бессмысленно, требуется уже уметь учиться самостоятельно, а не чтобы кто-то учил.
В наши дни ИИ — это искусственная интуиция, а не интеллект, поэтому такие ответы она выдаёт именно потому, что ей так кажется и ни почему больше.
И именно поэтому ИИ не может объяснить свои ответы.
Собственно, человек тоже не может, обращаясь к своей интуиции, объяснить почему ему кажется именно так, а не иначе.
Совершенно никак не может. Но совершенно чётко при этом ощущает, что ему кажется именно так.
Свойство интуиции.
Когда изобретут технологию, которая будет являться неким аналогом человеческого интеллекта, тогда и можно будет начать говорить о том, что ИИ думает, и задавать вопросы, кого он сможет заменить на рабочем месте, и в каком десятилетии мог бы быть совершён переход к коммунизму или аналогичному устройству общества, потому что работать, чтобы жить, человечеству уже не будет необходимости.
Сейчас же ИИ выдаёт лишь то, что ей кажется, не больше.
Именно поэтому у ИИ и имеют место галлюцинации, а также, порой, бесконечная тупость: интуиция — не думает, вместо этого она выдаёт ровно то, что ей кажется, и поэтому ей строго наплевать на логичность или нелогичность выдаваемого.
Какая вообще может быть логичность, когда довольно сильно кажется, что должно быть именно так, а не иначе?
Изобрели аналог интуиции и пока широко не осознали это.
Видимо, сначала должны это осознать, чтобы направить усилия в нужное русло, тогда и появится реальный шанс на настоящий ИИ.