Aivar |
|
Темы:
4
Сообщения:
6897
Участник с: 17 февраля 2011
|
maisvendoo, реакция продавца была такая же? ) |
maisvendoo |
|
Темы:
68
Сообщения:
1143
Участник с: 10 октября 2012
|
AivarНе, в той конторе довольно толковые ребята, я у них всегда покупал железки (был случай память не заработала - без проблем забрали и деньги вернули). Понимающе кивнул и не стал приставать
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb http://rusrailsim.org |
Kycok |
|
Темы:
32
Сообщения:
1585
Участник с: 09 января 2013
|
Aivar, спасибо, посмеялся))) Вот нашел на просторах опеннета:
|
Sheykhnur |
|
Темы:
16
Сообщения:
244
Участник с: 05 февраля 2013
|
Буратино дали пять яблок. Два из них он съел. Вопрос: сколько осталось у него яблок? Думаете три? А вот фиг! Никто не может сказать наверняка, сколько у него уже было яблок. Мораль: обнуляйте переменные!))
root@vpupkin# cat /dev/ass > /dev/head
|
nafanja |
|
Темы:
94
Сообщения:
9252
Участник с: 02 июня 2012
заблокирован
|
Sheykhnurя могу сказать что у него осталось яблок X+3, чисто программерский ответ. ))) докажи что это не так!
Псевдографический инсталлятор Arch Linux ver. 3.8.2
Благодарности принимаются на ЯД 410012815723874 |
Sheykhnur |
|
Темы:
16
Сообщения:
244
Участник с: 05 февраля 2013
|
Я бы посмотрел это выражение в коде :-) a = x + 3 ? :-)
root@vpupkin# cat /dev/ass > /dev/head
|
jim945 |
|
Темы:
9
Сообщения:
3194
Участник с: 25 января 2010
|
SheykhnurСам же пишешь SheykhnurВот на переменную количества яблок посмотри. Узнаешь и сколько было, и сколько стало.
Lupus pilum mutat, non mentem.
|
Sheykhnur |
|
Темы:
16
Сообщения:
244
Участник с: 05 февраля 2013
|
Вы на си программировали когда-нибудь? Попробуйте не обнулить переменные и посмотрите что будет; результат вас может сильно удивить. Неужели нужно ещё разъяснять для чего это делается? Nafanja писа́л, что яблок у буратино осталось x+3. x — в данном случае неизвестное, но, когда пишешь код, — в той ячейке памяти, куда присвоится x, может быть что угодно. Вы не путайте математическое выражение и выражение в коде. В коде a = x + 3 — знак «=» является присваиванием (надеюсь, не нужно объяснять, что это такое и чем оно отличается от равенства (которое в коде выглядит как «==»)?), в то время, как в математике это является равенством. С математической точки зрения Nafanja прав, с программистской же — нет. Вся беда в том, что в математике ответ х+3 допусти́м, в то время, как в программе каждой переменной (в данном случае х) должно соответствовать строго определённое значение. Итак задача: Дано: Буратино дали 5 яблок, 2 из них он съел. Вопрос: Сколько яблок осталось у буратино? Решим эту задачу математически: Буратино обозначим переменной а. Если предположить, что у буратино уже было какое-то количество яблок (мы не знаем какое), то это неизвестное мы обозначим за х (что и предложил нам Nafanja). Т.е. а = х + (5 - 2), а = х +3. Математический ответ: У буратино осталось х + 3 яблок. С этим разобрались. В математике х + 3 допустимо. Решение программистским способом (на си): Что же у нас получится, когда мы выполним cc buratino.c? А получится белиберда, ибо переменные у нас не проинициализированы и при выполнении программы в ячейку а (она тоже не проинициализирована, но это не критично, т.к. выражение справа, по сути, является инициализацией этой переменной) запишется выражение х + (5 - 2). 5-2 программа высчитает, а вот с х что прикажете делать? Программа не выведет вам «математический» ответ в виде х +3, нет! в х программа присвоит произвольную область памяти, не проинициализировав (обнулив) её, что повлечёт за собой присваивание этой злосчастной х рандомное число (по сути то, что было в этой ячейке памяти до того, как туда обратилась наша программа; а быть там могло что угодно, т.к. менеджер памяти при выделении программе памяти заполняет её случайными данными).В общем я устал писать, кто не понял, тот ССЗБ :-)
root@vpupkin# cat /dev/ass > /dev/head
|
maisvendoo |
|
Темы:
68
Сообщения:
1143
Участник с: 10 октября 2012
|
SheykhnurГлобальные таки зануляются, а вот локальные - там может валятся всё что угодно. А ещё круто выделить память одного размера, а записать по полученному указателю чуть больше данных, и потом удивляться, почему совершенно другая переменная вдруг спонтанно изменяет свое значение. Потом когда обнаруживаешь в отладчике что она соседствует с выделенной динамической памятью хлопаешь себя по лбу. Но это после пары часов отчаянных психов "ну почему оно не работает!!!" :)
Да пребудет с нами Сила...!
CPU Intel Core i9 10900-KF/RAM DDR4 128 Gb/NVidia GForce GTX 1080 Ti Turbo 11Gb/SSD M2 512 Gb/HDD Seagate SATA3 2 Tb/HDD Toshiba 3Tb/HDD Toshiba 6Tb http://rusrailsim.org |
Sheykhnur |
|
Темы:
16
Сообщения:
244
Участник с: 05 февраля 2013
|
maisvendooСчитаю это моветоном. Я всегда зануляю от греха подальше, ибо компиляторы разные, а знать все их особенности тяжко Ооу, указатели — это вообще тема для отдельного доклада на несколько томов, сколько уже эпосов писано по их душу :-)
root@vpupkin# cat /dev/ass > /dev/head
|