Bits
Libraries
Memory
Networking
Numbers
100

0x44 << 0x4

What is 0x440 expressed a left shift?

100

A library that includes the printf() function.

What is <stdio.h>?

100

Output from running.

void *m = malloc(0xFF) ; printf("%x", m + 0xF) ;

What is a memory location?

100

A function to study socket function failure states.

What is perror()?

100

1.0 / 0

What returns the float representing infinity?

200

0x44 > 0x4 == 0x40 >> 0x4

What is 1 (or 'true')?

200

A library that includes the socket() function?

What is <socket.h>?

200

Output from running.

void *m ; printf("%x", m + 0xF) ;

What is 0xF?

200

A function to configure sockets to be blocking or non-blocking?

What is setsockopt()?

200

1 / 0

What causes a divide by zero error?

300

(0x100 >> 0x10) << 0x10

What is zero (0)?

300

A library that includes the memset() function (for zeroing out arrays and other uses)?

What is <string.h>?

300

Output from running.

void *m = malloc(0xFF) ; printf("%x", *m + 0xF) ;

What is a void dereference error?

300

A function to return a file descriptor corresponding to a client.

What is accept()?

300

(0x1 << 0x10) * (0x1 << 0x10)

What is a zero overflow?

400

0x44 & 0x4 << 0x4

What is 0x40 with shift and bitmask?

400

A library that defines _Complex_I  in some way.

What is <complex.h>?

400

Output from running.

char *m = malloc(0xFF) ; printf("%x", *(m + 0xF)) ;

What is the initial value of a memory location from a malloc()?

400

IPv6 address size in bytes.

What is 128 bits in bytes?

400

(float)(0x1 << 0x10) * (float)(0x1 << 0x10)

What is 2 ^ 32 as a float?

500

0xFF <<  ((((0xF & 0x8) >> 0x3) & (0x1)) << 0x8)

What is zero expressed as unclearly as possible?

500

A library that defines ints of specific sizes.

What is <stdint.h>?

500

Output from running.

char *m = malloc(0xFF) ; printf("%x", *(char *)(m - m >> 1)) ;

What memory operations will generally draw a segmentation fault?

500

The number of IPv6 addresses available per each IPv4 address?

What is 2 ^ 128 / 2 ^ 32?
500

(0x1000 >> 0x10 << 0x10) == (0x1000 << 0x10 >> 0x10)

What is a false numerical expression in C that 'should' be true?