- 1
printf("%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%f\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t", ...
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+137
printf("%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%f\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t%u\t", ...
+104
if(res < dateFrom)
{
res = dateFrom;
}
else
return dateFrom;
return res;
Выгребаю из проекта...
+127
#define v putchar
#define print(x) main(){v(4+v(v(52)-4));return 0;} /*
#>++++++4[>++++++<-]>++++.----.++++.**/
print(202*2);exit();
#define/*>.@*/exit()
Для кого-то покажется бояном, но меня улыбнуло. Явно искусственный код взятый со stackoverflow.com
+127
static void jz_update_dram_prev(unsigned int cur_mclk, unsigned int new_mclk)
{
/* No risk, no fun: run with interrupts on! */
if (new_mclk > cur_mclk) {
/* We're going FASTER, so first update TRAS, RCD, TPC, TRWL
* and TRC of DMCR before changing the frequency.
*/
jz_update_dram_dmcr(new_mclk);
} else {
/* We're going SLOWER: first update RTCOR value
* before changing the frequency.
*/
jz_update_dram_rtcor(new_mclk);
}
}
Кусок кода из официального™ китайского дерева исходников Линукса для одного System-on-Chip.
Реализует поддержку динамического изменения частоты процессора, а приведенная функция меняет тайминги для памяти (как обычно, весьма альтернативным способом). Что характерно, это вполне себе работает на реальном железе, и вроде бы оно у меня в этом куске ни разу не падало.
+136
static int getDns(int eid, webs_t wp, int argc, char_t **argv)
{
//....тут были еще переменные...
int type, idx = 0, req = 0;
if (ejArgs(argc, argv, T("%d"), &type) == 1) {
if (1 == type)
req = 1;
else if (2 == type)
req = 2;
else
return websWrite(wp, T(""));
}
//...дальше операции с req...
}
Такой вот китайский код демона goahead, пользуемого в embedded железяках...
+141
#define N2(n) #n"0",#n"1",#n"2",#n"3",#n"4",#n"5",#n"6",#n"7",#n"8",#n"9"
#define N30(n) #n N2(),#n N2(1),#n N2(2),#n N2(3),#n N2(4),#n N2(5),#n N2(6),#n N2(7),#n N2(8),#n N2(9)
#define N3(n,k) #n#k"0",#n#k"1",#n#k"2",#n#k"3",#n#k"4",#n#k"5",#n#k"6",#n#k"7",#n#k"8",#n#k"9"
#define N4(k) N3(k,0),N3(k,1),N3(k,2),N3(k,3),N3(k,4),N3(k,5),N3(k,6),N3(k,7),N3(k,8),N3(k,9)
#define N5 N30(),N4(1),N4(2),N4(3),N4(4),N4(5),N4(6),N4(7),N4(8),N4(9)
const char s[][4]={N5};
const int s_size = sizeof(s)/sizeof(s[0]);
void print_number(int n) {
if (n<s_size) {
printf("!%s\n",s[n]);
}
else {
printf("?%d\n",n);
}
}
Отсылка к #3376 http://govnokod.ru/3376
Вопрос к общественности: что бОльший говнокод, >100 строк строковых констант или 5-строчный пассаж на макросах?
+135
//...
iInitCommDevicePeriod = GetPrivateProfileInt(extraTunungLine, _T("InitCommDevicePeriod"), INIT_COMM_DEVICE_TIMER_PERIOD / 1000, extraFilePath) * 1000;
iReconnectSocketPeriod = GetPrivateProfileInt(extraTunungLine, _T("ReconnectSocketPeriod"), CONN_WITH_SOCK_LOST_TIMER_PERIOD / 1000, extraFilePath) * 1000;
m_uiCheckLoopPeriod = GetPrivateProfileInt(extraTunungLine, _T("CheckLoopPeriod"), CCC_LINE_CHECK_LOOP_TIMER_PERIOD / 1000, extraFilePath) * 1000;
//....
Автор тот же...
мистическая инициализация таймеров.
зачем делить default value на 1000 перед посылкой в функцию, чтобы потом результат умножить на 1000. Может, чтобы время было в целых секундах?
+129
#include <intrin.h>
#include <stdarg.h>
#include <stdio.h>
int func()
{
va_list vl;
int i;
int arg,Z=1;
va_start(vl,*(int *)_AddressOfReturnAddress());
for(i=0;i<5;i++)
{
arg=va_arg(vl,int);
Z=arg*Z;
}
return(Z);
}
int main(void)
{
printf("%d",func(1,2,3,4,5));
getchar();
return 0;
}
гуру-вычисление факториала пяти одного красавчика с форума wasm.ru... был выведен, как пример функции с переменным числом параметров без единого явного параметра... грязный хак с адресом возврата на стеке - моя идея)))
+146
# include <stdio.h>
# include <math.h>
# include <conio.h>
main() {
int i,n;
float y[12],a[12],b[12],c[12],d[12],e[12];
clrscr();
for (i=1;i<13;i++) {
printf ("y[%d]= ",i);
scanf ("%f",&y[i]); }
//========================================//
a[1]=y[2]-y[1];a[2]=y[3]-y[2];a[3]=y[4]-y[3];a[4]=y[5]-y[4];
a[6]=y[7]-y[6];a[7]=y[8]-y[7];a[8]=y[9]-y[8];a[9]=y[10]-y[9];
a[10]=y[11]-y[10];a[11]=y[12]-y[11];a[12]=0;
b[1]=a[2]-a[1];b[2]=a[3]-a[2];b[3]=a[4]-a[3];b[4]=a[5]-a[4];
b[6]=a[7]-a[6];b[7]=a[8]-a[7];b[8]=a[9]-a[8];b[9]=a[10]-a[9];
b[10]=a[11]-a[10];b[11]=0;b[12]=0;
c[1]=b[2]-b[1];c[2]=b[3]-b[2];c[3]=b[4]-b[3];c[4]=b[5]-b[4];
c[6]=b[7]-b[6];c[7]=b[8]-b[7];c[8]=b[9]-b[8];c[9]=b[10]-b[9];
c[10]=0;c[11]=0;c[12]=0;
d[1]=c[2]-c[1];d[2]=c[3]-c[1];d[3]=c[4]-c[3];d[4]=c[5]-c[4];
d[6]=c[7]-c[6];d[7]=c[8]-c[7];d[8]=c[9]-c[8];d[9]=0;d[10]=0;d[11]=0;d[12]=0;
e[1]=d[2]-d[1];e[2]=d[3]-d[2];e[3]=d[4]-d[3];e[4]=d[5]-d[4];
e[6]=d[7]-d[6];e[7]=d[8]-d[7];e[8]=0;e[9]=0;e[10]=0;e[11]=0;e[12]=0;
printf ("Y\t\tY\t\tY2\t\tY3\t\tY4\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n%f\t%f\t%f\t%f\t%f\n",y[1],a[1],b[1],c[1],d[1],y[2],a[2],b[2],c[2],d[2],y[3],a[3],b[3],c[3],d[3],y[4],a[4],b[4],c[4],d[4],y[5],a[5],b[5],c[5],d[5],y[6],a[6],b[6],c[6],d[6],y[7],a[7],b[7],c[7],d[7],y[8],a[8],b[8],c[8],d[8],y[9],a[9],b[9],c[9],d[9],y[10],a[10],b[10],c[10],d[10],y[11],a[11],b[11],c[11],d[11],y[12],a[12],b[12],c[12],d[12]);
getche();
}
Работа с массивами.
+146
// Borland C++ - (C) Copyright 1991, 1992 by Borland International
/* HELLO.C -- Hello, world */
#include <stdio.h>
int main()
{
printf("Hello, world\n");
return 0;
}
Копирайт, однако !