LINUX.ORG.RU

Рулетка с rm rf'ом :}

Deleted
()

Qemu, осталось закодить Родину.

Можно взять ReactOs. Тоже неплохо и весьма православно

shamazmazum
()

Песенка вспомнилась:

"С чего начинается Родина..."

shamazmazum
()
#include <stdio.h>
int main(int argc, char argv[][]) {
  if (argc=1) {
    printf("Горжусь Россией!");
  } else {
    printf("Гражданин, пройдемте.");
  };

  return 0;
}
redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

> ? Неужто где-то ошибся? Вроде обрывки моих знаний С такое говорят.

\n забыл в конце каждого printf =)

stpg
()
Ответ на: комментарий от shamazmazum

>= вместо == и лишняя ;

Ну почему в пьяном виде мое паскальство так палится?

redgremlin ★★★★★
()
Ответ на: комментарий от r_asian

>Отступы в 2 пробела?

Да. Ненавидеть таб. И вообще, это отдельный холивор.

>Открывающая и закрывающая на одной строчке?


Дык ваши дурацкие фигурные скобки по одно на строку - издевательство

redgremlin ★★★★★
()
Ответ на: комментарий от lester

>П.С. сделать в "Hello World" столько ошибок - это талант

3.0 beer inside + лет 5 на С ничего не писал, а у меня память своеобразная - быстро запоминаю, быстро забываю.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

> Дык ваши дурацкие фигурные скобки по одно на строку - издевательство

можно вообще все одной строкой:
printf( argc ? "Горжусь Россией!" : "Гражданин, пройдемте." );

lester ★★★★
()
Ответ на: комментарий от redgremlin

внимание, объявляю очередной виток IOCCC открытым

#include <stdio.h>
int
main(int argc)
{
        return puts((char *[]){"Горжусь Россией!", "Гражданин, пройдемте."}[!!--argc]);
}
beastie ★★★★★
()
Ответ на: комментарий от redgremlin

LOR patch included (cat test.c, и оно компилится):

#include <stdio.h>
int main(int argc, char* argv[]) {
  if (argc==1) {
      printf("Горжусь Россией!\n");
  } else {
    printf("Гражданин, пройдемте.\n");
  }

  return 0;
}

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

Поздравляю. Твоя прога успешно прошла стадию "бл...дь, оно не компилится" и находится на стадии "бл...дь, оно не работает".

r_asian ★☆☆
()
Ответ на: комментарий от redgremlin

> Да. Ненавидеть таб. И вообще, это отдельный холивор.

Про таб никто и не говорит, сам ненавидеть таб. Но, осетрина должна быть первой свежести, а отступ болжен быть в 4 пробела.

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

Не надо инсинуаций:

[code]
gcc -o test test.c
[redgremlin@redgremlin ~]$ cat test.c
#include <stdio.h>
int main(int argc, char* argv[]) {
if (argc==1) {
printf("Горжусь Россией!\n");
} else {
printf("Гражданин, пройдемте.\n");
}

return 0;
}

[redgremlin@redgremlin ~]$ ./test
Горжусь Россией!
[redgremlin@redgremlin ~]$ ./test 1
Гражданин, пройдемте.
[/code]

redgremlin ★★★★★
()
Ответ на: комментарий от arsi

Возможно, так и было задумано :}

Deleted
()
Ответ на: комментарий от redgremlin

> Какие фаши токасательства? (ц) Ктото из Красной Жары.

Оптимальное количество. С одной стороны позволяет не сливаться коду в кашу(как при 2-х) и без напряжения зрения увидеть конец блока. С другой стороны - позволяет не водить глазами влево-вправо(как при 8-ми) и без труда держать ширину кода не более 80 символов (мало ли где его читать придется, иксы не везде стоят)

r_asian ★☆☆
()
Ответ на: комментарий от r_asian

Пробовал и 4 и 3 и таб перенастраивать на 4, но обратно все время на 2 откатывался - и древовидно и тонко и клаву топтать особо не надо в любом иде. Катя, кстати, блоки удобно выделяет.

redgremlin ★★★★★
()
Ответ на: комментарий от lester

А как же свобода слова! Ну и пусть колыма, зато мнение высказал!

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

> и клаву топтать особо не надо в любом иде

Если бы практически каждый IDE не умел при нажатии на таб делать заданное количество пробелов, на Backspace это количество убирать, а при переходе на новую строку автоматом держать отступ - я бы остался сторонником табуляции, а не пробелов. А так вообще не вижу ситуации, при которой надо было при 4-х пробелах топтать клаву больше чем при 2-х.

> Катя, кстати, блоки удобно выделяет.

Катя - хорошая девочка.

r_asian ★☆☆
()
Ответ на: комментарий от lester

> это абсолютно правильный с идеологической точки зрения вариант :)

этот «абсолютно правильный с идеологической точки зрения вариант» всегда можно «хакнуть», вызвав вполне стандартную функцию. что-то ваша любовь к Родине больно уязвима к хитрож…м атакам ;)

arsi ★★★★★
()
Ответ на: комментарий от Ximik

> на ноль делишь

*подавился пивом*

*кхм-кхм. тьфу. кхм. ня.*

нифига, я люблю Родину! у нас классное пиво делают…

arsi ★★★★★
()
Ответ на: комментарий от arsi

>у нас классное пиво делают…

А как у вас в Германии, скажем, с русскоговорящими?

redgremlin ★★★★★
()
Ответ на: комментарий от beastie

#include <stdio.h> int main(int argc) { return puts((char *[]){«Горжусь Россией!», «Гражданин, пройдемте.»}[!!--argc]); }

Толстота да и только

unrealix
()
Ответ на: комментарий от lester

> хакнуть можно практически все, хотите об этом поговорить?

да, хотел бы поговорить/обсудить, почему ваш бравзер не отображает кавычек (не держит ютф8?) вокруг слова «хакнуть», а особенно хотелось бы поговорить о вашем понимании стандартных позиксовых функций, да.

arsi ★★★★★
()
Ответ на: комментарий от arsi

> почему ваш бравзер не отображает кавычек (не держит ютф8?) вокруг слова «хакнуть»

отображает, вы считаете, что их наличие что-то меняет?

> а особенно хотелось бы поговорить о вашем понимании стандартных позиксовых функций, да.


я вас слушаю

lester ★★★★
()
Ответ на: комментарий от arsi

> несомненно.

жду ваших определений для хакнуть и "хакнуть"

> ня?


вы ж хотели поговорить, полагаю у вас есть вопросы?

lester ★★★★
()
Ответ на: комментарий от Ximik

> а я подумал, что = вместо == - это такой тонкий стёб

Мать-перемать, а я всё думаю, чего моя программа вчера не работала...

question4 ★★★★★
()
Ответ на: комментарий от lester

> жду ваших определений для хакнуть и "хакнуть"

хакнуть — использовать недокументированную «возможность»/ошибку ПО. «хакнуть» — использовать _документированную_ функцию, которую никто не применяет или подобное применение которой не рекомендуется, но допустимо стандартами языка/библиотеки/этц. например, можно вызвать execl("/path/to/prog", NULL) вместо execl("/path/to/prog", "/path/to/prog", NULL), в результате чего argc==0 и argv[0]==NULL, а не как _рекомендует_ позикс argc>=1 и argv[0] равным полному пути к исполняемому файлу. замечу, что гцц с «-ansi -pedantic -pedantic-errors» не считает «не стандартное» использование execl() ошибкой. собственно, проблема состоит в том, что <libastral>99%</libastral> ПО, использующего argv[0], свято «верят», что argv[0] никогда не будет равным NULL и обращаются к указателю без дополнительного контроля.

> вы ж хотели поговорить, полагаю у вас есть вопросы?

дык, я же о вашем понимании стандартных функций спрашивал. от этого зависит, что считать «хаком», а что — хаком.

arsi ★★★★★
()
Ответ на: комментарий от redgremlin

Это типа какая родина, столько и ошибок в эмуляторе?

Ramen ★★★★
()
Ответ на: комментарий от r_asian

>Открывающая и закрывающая на одной строчке?
А чем не нравится запись "} else {"?
Я всегда так пишу. Гараздо удобнее и нагляднее, чем дебильное
}
else
{

Ramen ★★★★
()
Ответ на: комментарий от arsi

> хакнуть — использовать ошибку ПО
> «хакнуть» — использовать _документированную_ функцию, которую никто не применяет или подобное применение которой не рекомендуется


если в программе нет защиты от использования _документированной_ функции - это именно ошибка в ПО, которая там либо из-за не знания, либо из-за того, что автор привел в качестве примера строку, которая вообще не претендовала на звание целой программы, а просто показывала паскалисту как можно написать все одной срокой

> дык, я же о вашем понимании стандартных функций спрашивал


а поконкретней?

lester ★★★★
()
Ответ на: комментарий от lester

> если в программе нет защиты от использования _документированной_ функции - это именно ошибка в ПО

если спецификация позикса говорит, что всегда argc>=1, а argv[0] — полный путь к исполняемому текущему файлу, т.е. к самому себе, то в чём виновен поверивший документу кодер?

> что автор привел в качестве примера строку, которая вообще не претендовала на звание целой программы, а просто показывала паскалисту как можно написать все одной срокой

вспоминается прецедент с assert() ;)

> а поконкретней?

да что конкретней-то? если ваш пример вызван, так сказать, по позиксу, то всегда будет выдавать "Горжусь Россией!". но если его вызвать с программы, которая умышленно отойдёт от стандартов (при этом ни компилятор не ругнётся, ни exec*-функция не вернёт ошибку), то получим немножко другой результат ;) вот мне интересно было, насколько дорога Родина «кулхацкеру», но кое-кто не понял юмора, а жаль =(

arsi ★★★★★
()
Ответ на: комментарий от arsi

> то в чём виновен поверивший документу кодер?

разве ошибка перестает быть ошибкой, если сделана по незнанию?

> вспоминается прецедент с assert() ;)


а... решили придраться в ответ? :)

> вот мне интересно было, насколько дорога Родина «кулхацкеру», но кое-кто не понял юмора, а жаль =(


записал - "необходимо серьезно и методично поработать над своим чувством юмора"

lester ★★★★
()
Ответ на: комментарий от lester

>разве ошибка перестает быть ошибкой, если сделана по незнанию?
Разве отсутствие проверок сверх необходимого согласно спецификации - это ошибка?

Ramen ★★★★
()
Ответ на: комментарий от Ramen

> Разве отсутствие проверок сверх необходимого согласно спецификации - это ошибка?

в данном случае, как я понимаю, arsi задал спецификацию, где идеологически правильная программа не должна была выводить второй вариант( иначе бы не придирался )

lester ★★★★
()
Ответ на: комментарий от lester

> разве ошибка перестает быть ошибкой, если сделана по незнанию?

всего знать не возможно. те, кто знают всё, либо живут в комнате с мягкими стенами, либо ходят в младшие классы ;)

кроме того, здесь нет незнания как такового, здесь уже конфликт спецификаций. как недавний баг в кде-шном (и не только) парсере сертификатов, где текстовый файл проверялся, является ли он валидным сертификатом, но не проверялось, является ли файл вообще текстовым. вот здесь и вопрос: что считать хаком.

> а... решили придраться в ответ? :)

«я не злопамятный. просто я злой и у меня память хорошая.» ©тырено © интернетов ;)

arsi ★★★★★
()
Ответ на: комментарий от lester

>> Разве отсутствие проверок сверх необходимого согласно спецификации - это ошибка?

> в данном случае, как я понимаю, arsi задал спецификацию, где идеологически правильная программа не должна была выводить второй вариант( иначе бы не придирался )

что-то я не вижу противоречий в этих двух предложениях, скорее наоборот :) или они таки есть, а мне лучше отоспаться и перечитать ещё раз? ;)

зы: имхо, отсутствие данной проверки ошибкой считать нельзя. если сказано, что не должно быть <1, значит и не будет… в 99.9% случаев. в том же куте, например, редко когда проверяется указатель на NULL после new (ну да, у нас же памяти нынче дофига… >_<"), а в базибоксе почти не проверяется на NULL argv[0]. опять же, никто не мешает написать пару основная_программа+вспомогательная_программа, где основная_программа будет передавать в argv[0] не полный путь к вспомогательной_программе, а некоторые служебные данные. при этом основная_программа будет соответствовать всем стандартам, а вспомогательную_программу в документации непосредственно вызывать запрещено. будет ли такая спарка нарушать стандарты? ;)

arsi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.