- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
#include <stdio.h>
int main(void) {
puts("\x05pituh");
puts("\x06COCOCO");
puts("\x0000000005CO-CO");
puts("\00256");
return 0;
}
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+1
#include <stdio.h>
int main(void) {
puts("\x05pituh");
puts("\x06COCOCO");
puts("\x0000000005CO-CO");
puts("\00256");
return 0;
}
https://ideone.com/qNn7NF
Ололо, а я-то сразу и не понял в чём дело...
+2
#include <stdio.h>
#include <stdlib.h>
#include <stdalign.h>
#include <inttypes.h>
#include <string.h>
float sum_f(const float arr[], const size_t len);
int32_t sum_i32t(const int32_t arr[], const size_t len);
#define sum(a, b) _Generic((a), float*: sum_f, \
const float*: sum_f, \
int32_t*: sum_i32t,\
const int32_t*: sum_i32t)(a, b)
// foldl (+) 0 arr
float sum_f(const float arr[], const size_t len)
{
return (len != 0) ? ( sum(arr+1, len-1) + arr[0] ) : 0;
}
int32_t sum_i32t(const int32_t arr[], const size_t len)
{
return (len != 0) ? ( sum(arr+1, len-1) + arr[0] ) : 0;
}
enum { we_want_int, we_want_float } what_we_want;
void test(int www)
{
void *a;
if (www == we_want_int)
{
uint8_t buf[sizeof(int32_t[10])] __attribute__ ((aligned (alignof(int32_t[10]))));
a = (void *) buf;
memcpy ( a, (int32_t[10]){1,2,3,4,5,6,7,8,9,10},
sizeof((int32_t[10]){1,2,3,4,5,6,7,8,9,10})
);
printf("%" PRIi32 "\n", sum((int32_t *)a, 10));
}
else if (www == we_want_float)
{
uint8_t buf[sizeof(float[10])] __attribute__ ((aligned (alignof(float[10]))));
a = (void *) buf;
memcpy ( a, (float[10]){1,2,3,4,5,6,7,8,9,10},
sizeof((float[10]){1,2,3,4,5,6,7,8,9,10})
);
printf("%f\n", sum((float *)a, 10));
}
}
int main(void)
{
test(we_want_int);
test(we_want_float);
return EXIT_SUCCESS;
}
https://wandbox.org/permlink/TwbKHE8l7ZJc6PNI
https://govnokod.ru/25005#comment436646
https://i.imgur.com/yFYfuED.jpg
−1
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
struct masterRecord{ int Number; char Name[20]; char Surname[20]; char addres[30]; char TelNumber[15]; double indebtedness; double credit_limit; double cash_payments; };
typedef struct masterRecord Data;
int main(void){
int choice = 0;
void masterWrite(FILE *ofPTR, Data Client ) ,transactionWrite(FILE *ofPTR, Data transfer ) , blackRecord(FILE *ofPTR, FILE *ofPTR_2 , FILE *blackrecord , Data client_data , Data transfer ) ;
FILE *Ptr, *Ptr_2 , *blackrecord ;
Data client_data, transfer ;
printf("%s", "please enter action\n1 enter data client:\n2 enter data transaction:\n3 update base\n" );
while ( scanf("%d", &choice ) != -1 ) {
switch( choice ) {
case 1:
Ptr = fopen("record.dat", "r+" );
if(Ptr == NULL ){
puts("Not acess");
}
else{
masterWrite( Ptr , client_data);
fclose(Ptr);
}
break;
case 2:
Ptr = fopen("transaction.dat", "r+" );
if(Ptr == NULL ){
puts("Not acess");
}
else{
transactionWrite( Ptr, transfer );
fclose(Ptr);
}
break;
case 3:
Ptr = fopen( "record.dat", "r" );
Ptr_2 = fopen("transaction.dat", "r" );
blackrecord = fopen("blackrecord.dat", "w" );
if( Ptr == NULL || Ptr_2 == NULL || blackRecord == NULL ){
puts("exit");
}
else{
blackRecord( Ptr, Ptr_2 , blackrecord , client_data , transfer );
fclose(Ptr);
fclose(Ptr_2);
fclose(blackrecord);
}
break;
default:
puts("error");
break ;
}
printf("%s", "please enter action\n1 enter data client:\n2 enter data transaction:\n3 update base\n" );
}
return 0;
}
void masterWrite(FILE *ofPTR , Data Client ) {
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n\n",
"1 Number account: ",
"2 Client name: ",
"3 Surname: ",
"4 Addres client: ",
"5 Client Telnum: ",
"6 Client indebtedness: ",
"7 Client credit limit: ",
"8 Client cash payments: " );
while( scanf("%d%s%s%s%s%lf%lf%lf", &Client.Number, Client.Name, Client.Surname, Client.addres, Client.TelNumber, &Client.indebtedness, &Client.credit_limit , &Client.cash_payments ) != -1 ){
fprintf( ofPTR, "%-12d%-11s%-11s%-16s%20s%12.2f%12.2f%12.2f\n", Client.Number, Client.Name, Client.Surname, Client.addres, Client.TelNumber, Client.indebtedness, Client.credit_limit , Client.cash_payments ) ;
printf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n\n",
"1 Number account: ",
"2 Client name: ",
"3 Surname: ",
"4 Addres client: ",
"5 Client Telnum: ",
"6 Client indebtedness: ",
"7 Client credit limit: ",
"9 Client cash payments:"
);
} }
void transactionWrite(FILE *ofPtr, Data transfer ){
printf("%s\n%s\n",
"1 Number account: ",
"2 Client cash payments: ");
while(scanf("%d %lf" , &transfer.Number , &transfer.cash_payments ) != -1 ){
fprintf( ofPtr, "%-3d%-6.2f\n", transfer.Number, transfer.cash_payments ) ;
printf("%s\n%s\n",
"1 Number account:",
"2 Client cash payments: "
);
} }
void blackRecord(FILE *ofPTR, FILE *ofPTR_2 , FILE *blackrecord , Data client_data , Data transfer ){
while(fscanf( ofPTR , "%d%s%s%s%s%lf%lf%lf", &client_data.Number , client_data.Name , client_data.Surname , client_data.addres, client_data.TelNumber, &client_data.indebtedness, &client_data.credit_limit, &client_data.cash_payments) != -1 ) {
while ( fscanf( ofPTR_2 , "%d %lf", &transfer.Number , &transfer.cash_payments ) != -1 ){
if( client_data.Number == transfer.Number && transfer.cash_payments != 0 ){
client_data.credit_limit += transfer.cash_payments;
}
}
fprintf(blackrecord ,"%-12d%-11s%-11s%-16s%20s%12.2f%12.2f%12.2f\n", client_data.Number, client_data.Name, client_data.Surname, client_data.addres, client_data.TelNumber, client_data.indebtedness, client_data.credit_limit , client_data.cash_payments ) ;
rewind( ofPTR_2 );
} }
В новом Сорокине мне больше всего понравились "Фиолетовые лебеди".
−10
val = atoi(curstr);
count = 0;
while (val) {
buf[count] = (val & 0x7f);
val = val >> 7;
count++;
}
Ноль не число.
Отсюда:
https://dxr.mozilla.org/mozilla-central/source/security/nss/cmd/oidcalc/oidcalc.c
−1
#include <stdio.h>
#include <math.h>
char s[6];
main(){
puts(gets(s)[2]==45&8u>*s-65&8u>s[1]-49&8u>s[3]-65&8u>s[4]-49?abs((*s-s[3])*(s[1]-s[4]))-2?"NO":"YES":"ERROR");
}
−2
#include <stdio.h>
#include <locale.h>
main()
{
setlocale(LC_ALL, "Rus");
float lower, medium, upper;
lower = 2;
medium = 50;
upper = 100;
float step = 1;
printf( "\t\t%s\n\n\n","Температура пукана относительно изучения ЯП (10 лет) ");
printf("%s\t\t%s\t\t%s\n","изучение основ","изучение STL" , "делать сайтики на Ассемблере");
while (step <= 10)
{
++step;
printf("%.1f\t\t\t%.1f\t\t\t%.1f\n", lower*step, lower*step*5, medium * step*10);
}
getchar();
}
Немного статистики Hot пукана
+1
#include <stdio.h>
#include <inttypes.h>
static const uint32_t pow2[511] ={
0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100, 121, 144, 169, 196, 225, 256,
289, 324, 361, 400, 441, 484, 529, 576, 625, 676, 729, 784, 841, 900, 961, 1024, 1089, 1156,
1225, 1296, 1369, 1444, 1521, 1600, 1681, 1764, 1849, 1936, 2025, 2116, 2209, 2304, 2401,
2500, 2601, 2704, 2809, 2916, 3025, 3136, 3249, 3364, 3481, 3600, 3721, 3844, 3969, 4096,
4225, 4356, 4489, 4624, 4761, 4900, 5041, 5184, 5329, 5476, 5625, 5776, 5929, 6084, 6241,
6400, 6561, 6724, 6889, 7056, 7225, 7396, 7569, 7744, 7921, 8100, 8281, 8464, 8649, 8836,
9025, 9216, 9409, 9604, 9801, 10000, 10201, 10404, 10609, 10816, 11025, 11236, 11449, 11664,
11881, 12100, 12321, 12544, 12769, 12996, 13225, 13456, 13689, 13924, 14161, 14400, 14641,
14884, 15129, 15376, 15625, 15876, 16129, 16384, 16641, 16900, 17161, 17424, 17689, 17956,
18225, 18496, 18769, 19044, 19321, 19600, 19881, 20164, 20449, 20736, 21025, 21316, 21609,
21904, 22201, 22500, 22801, 23104, 23409, 23716, 24025, 24336, 24649, 24964, 25281, 25600,
25921, 26244, 26569, 26896, 27225, 27556, 27889, 28224, 28561, 28900, 29241, 29584, 29929,
30276, 30625, 30976, 31329, 31684, 32041, 32400, 32761, 33124, 33489, 33856, 34225, 34596,
34969, 35344, 35721, 36100, 36481, 36864, 37249, 37636, 38025, 38416, 38809, 39204, 39601,
40000, 40401, 40804, 41209, 41616, 42025, 42436, 42849, 43264, 43681, 44100, 44521, 44944,
45369, 45796, 46225, 46656, 47089, 47524, 47961, 48400, 48841, 49284, 49729, 50176, 50625,
51076, 51529, 51984, 52441, 52900, 53361, 53824, 54289, 54756, 55225, 55696, 56169, 56644,
57121, 57600, 58081, 58564, 59049, 59536, 60025, 60516, 61009, 61504, 62001, 62500, 63001,
63504, 64009, 64516, 65025, 65536, 66049, 66564, 67081, 67600, 68121, 68644, 69169, 69696,
70225, 70756, 71289, 71824, 72361, 72900, 73441, 73984, 74529, 75076, 75625, 76176, 76729,
77284, 77841, 78400, 78961, 79524, 80089, 80656, 81225, 81796, 82369, 82944, 83521, 84100,
84681, 85264, 85849, 86436, 87025, 87616, 88209, 88804, 89401, 90000, 90601, 91204, 91809,
92416, 93025, 93636, 94249, 94864, 95481, 96100, 96721, 97344, 97969, 98596, 99225, 99856,
100489, 101124, 101761, 102400, 103041, 103684, 104329, 104976, 105625, 106276, 106929,
107584, 108241, 108900, 109561, 110224, 110889, 111556, 112225, 112896, 113569, 114244,
114921, 115600, 116281, 116964, 117649, 118336, 119025, 119716, 120409, 121104, 121801,
122500, 123201, 123904, 124609, 125316, 126025, 126736, 127449, 128164, 128881, 129600,
130321, 131044, 131769, 132496, 133225, 133956, 134689, 135424, 136161, 136900, 137641,
138384, 139129, 139876, 140625, 141376, 142129, 142884, 143641, 144400, 145161, 145924,
146689, 147456, 148225, 148996, 149769, 150544, 151321, 152100, 152881, 153664, 154449,
155236, 156025, 156816, 157609, 158404, 159201, 160000, 160801, 161604, 162409, 163216,
164025, 164836, 165649, 166464, 167281, 168100, 168921, 169744, 170569, 171396, 172225,
173056, 173889, 174724, 175561, 176400, 177241, 178084, 178929, 179776, 180625, 181476,
182329, 183184, 184041, 184900, 185761, 186624, 187489, 188356, 189225, 190096, 190969,
191844, 192721, 193600, 194481, 195364, 196249, 197136, 198025, 198916, 199809, 200704,
201601, 202500, 203401, 204304, 205209, 206116, 207025, 207936, 208849, 209764, 210681,
211600, 212521, 213444, 214369, 215296, 216225, 217156, 218089, 219024, 219961, 220900,
221841, 222784, 223729, 224676, 225625, 226576, 227529, 228484, 229441, 230400, 231361,
232324, 233289, 234256, 235225, 236196, 237169, 238144, 239121, 240100, 241081, 242064,
243049, 244036, 245025, 246016, 247009, 248004, 249001, 250000, 251001, 252004, 253009,
254016, 255025, 256036, 257049, 258064, 259081, 260100 };
#define SQR(x) pow2[x]
uint16_t mul8b(uint8_t a, uint8_t b)
{
return (SQR((uint16_t)a+(uint16_t)b) - (SQR(a) + SQR(b))) >> 1;
}
int main(void)
{
uint8_t a = 255, b = 255;
printf("%" PRIu8 " * " "%"PRIu8 " = " "%"PRIu16, a, b, mul8b(a, b));
return 0;
}
Мегаинновационный алгоритм умножения двух чисел на основе таблицы поиска с предвычисленными квадратами.
По формуле ab = ((a+b)^2 - (a^2+b^2))/2
Можно упихать в какой-нибудь дохлый контроллер без инструкций умножения
+1
#include <stdio.h>
int main() {
switch (3) {
for (int i = 3; i > 0; --i) {
case 3: printf("%d ololo?\n", i);
}
}
return 0;
}
О сколько нам открытий чудных
Готовит просвящения духх...
Угодайте, что там: https://ideone.com/zbOzGZ
+2
if (!(fs_info->workers && fs_info->delalloc_workers &&
fs_info->submit_workers && fs_info->flush_workers &&
fs_info->endio_workers && fs_info->endio_meta_workers &&
fs_info->endio_meta_write_workers &&
fs_info->endio_write_workers && fs_info->endio_raid56_workers &&
fs_info->endio_freespace_worker && fs_info->rmw_workers &&
fs_info->caching_workers && fs_info->readahead_workers &&
fs_info->fixup_workers && fs_info->delayed_workers && // <===
fs_info->fixup_workers && fs_info->extent_workers && // <===
fs_info->qgroup_rescan_workers)) {
err = -ENOMEM;
goto fail_sb_buffer;
}
https://bugzilla.kernel.org/show_bug.cgi?id=82021
+1
/* Get LDAC handle */
LDACBT_API HANDLE_LDAC_BT ldacBT_get_handle( void )
/* Free LDAC handle */
LDACBT_API void ldacBT_free_handle( HANDLE_LDAC_BT hLdacBT )
/* Close LDAC handle */
LDACBT_API void ldacBT_close_handle( HANDLE_LDAC_BT hLdacBT )
/* Get ERROR CODE */
LDACBT_API int ldacBT_get_error_code( HANDLE_LDAC_BT hLdacBT )
/* Get Configured Sampling frequency */
LDACBT_API int ldacBT_get_sampling_freq( HANDLE_LDAC_BT hLdacBT )
СОНЭ умеет в комментарии.
https://android.googlesource.com/platform/external/libldac/+/master/src/ldacBT_api.c