- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
#define alias long
#define int b
#define cat 2
alias int=cat;
#undef int
int a$(int b)
{
return 1;
}
main()
{
return a$(b)+1;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+136
#define alias long
#define int b
#define cat 2
alias int=cat;
#undef int
int a$(int b)
{
return 1;
}
main()
{
return a$(b)+1;
}
Здесь нет С++, зато есть... bash!
На что спорим, что код возврата программы будет 1?
uncle Lem 05.02.2010 06:05 # 0
nil 05.02.2010 08:37 # 0
nil 05.02.2010 09:05 # 0
Стандарт допускает дополнительные символы реализации и универсальные имена символов (кстати и русские — ждем сишные программы с русскими идентификаторами!)
nil 05.02.2010 09:16 # 0
компилировалось gcc -c -std=c99 -fextended-identifiers
nm aaa.o:
0000000000000000 T a$
0000000000000000 D b
000000000000000e T main
0000000000000004 C Хуй
guest 05.02.2010 07:47 # 0
nil 05.02.2010 08:38 # 0
Когда выполняется как скрипт, до куска с main не доходит, так что там можно было оступить от чистоты синтаксиса, поскольку интерпретатору уже пофиг.
del 05.02.2010 12:08 # 0
$ cat kk.c
#define alias long
#define int b
#define cat 2
alias int=cat;
#undef int
int a$(int b)
{
return 1;
}
main()
{
return a$(b)+1;
}
$ cc kk.c -o kk
$ ./kk; echo $?
2
$ bash ./kk.c ; echo $?
./kk.c: line 7: int: command not found
./kk.c: line 7: int: command not found
./kk.c: line 9: return: can only `return' from a function or sourced script
0
$
nil 05.02.2010 12:30 # 0
А в bash-е алиасы работают только в интерактивном режиме (если нет соответствующей опции).
guest 06.02.2010 13:52 # 0
O_o
fasol8 07.02.2010 04:08 # 0
guest 01.05.2010 14:50 # 0
И это работает!
xXx_totalwar 01.05.2010 15:00 # 0
code_monkeys++
guest 01.05.2010 15:32 # 0
cfdev 01.05.2010 15:35 # 0
guest 01.05.2010 15:36 # 0
cfdev 01.05.2010 15:42 # 0
guest 01.05.2010 16:48 # 0
guest 01.05.2010 15:42 # +1
guest 01.05.2010 16:47 # 0