IOCCC 2024: Prize in murky waters
This program reads as if it prints a table of squares. Run it, and it prints a salmon recipe. The recipe is spelled in characters from the Unicode Tags block, which no editor or terminal displays, inside the string literal. More tag characters make the grill macro names differ from how they look, so an #undef misses and an invisible macro use runs the printing loop. disclude reports the tag characters, and the page shows each as a visible marker.
- Credit
- Adrian Cable, IOCCC28 (2024), 2024/cable2
- License
- CC BY-SA 4.0
- File
ioccc_2024_cable2.c(download)- Signals
- 1 critical · 2 warn · 3 info
- Disclude version
- 4.3.0
Source
Hidden characters are shown as ⟨U+…⟩. Each signal below links to its line.
unsigned int *salmon = U"⟨U+E0053⟩⟨U+E0065⟩⟨U+E0061⟩⟨U+E0073⟩⟨U+E006F⟩⟨U+E006E⟩⟨U+E0020⟩⟨U+E0073⟩⟨U+E0061⟩⟨U+E006C⟩⟨U+E006D⟩⟨U+E006F⟩⟨U+E006E⟩⟨U+E0020⟩⟨U+E0066⟩⟨U+E0069⟩⟨U+E006C⟩⟨U+E006C⟩⟨U+E0065⟩⟨U+E0074⟩⟨U+E0073⟩⟨U+E0020⟩⟨U+E0077⟩⟨U+E0069⟩⟨U+E0074⟩⟨U+E0068⟩⟨U+E0020⟩⟨U+E006F⟩⟨U+E006C⟩⟨U+E0069⟩⟨U+E0076⟩⟨U+E0065⟩⟨U+E0020⟩⟨U+E006F⟩⟨U+E0069⟩⟨U+E006C⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E006C⟩⟨U+E0065⟩⟨U+E006D⟩⟨U+E006F⟩⟨U+E006E⟩⟨U+E0020⟩⟨U+E006A⟩⟨U+E0075⟩⟨U+E0069⟩⟨U+E0063⟩⟨U+E0065⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E0067⟩⟨U+E0061⟩⟨U+E0072⟩⟨U+E006C⟩⟨U+E0069⟩⟨U+E0063⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E0073⟩⟨U+E0061⟩⟨U+E006C⟩⟨U+E0074⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E0061⟩⟨U+E006E⟩⟨U+E0064⟩⟨U+E0020⟩⟨U+E0070⟩⟨U+E0065⟩⟨U+E0070⟩⟨U+E0070⟩⟨U+E0065⟩⟨U+E0072⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E0074⟩⟨U+E0068⟩⟨U+E0065⟩⟨U+E006E⟩⟨U+E0020⟩⟨U+E0067⟩⟨U+E0072⟩⟨U+E0069⟩⟨U+E006C⟩⟨U+E006C⟩⟨U+E0020⟩⟨U+E006F⟩⟨U+E0076⟩⟨U+E0065⟩⟨U+E0072⟩⟨U+E0020⟩⟨U+E006D⟩⟨U+E0065⟩⟨U+E0064⟩⟨U+E0069⟩⟨U+E0075⟩⟨U+E006D⟩⟨U+E0020⟩⟨U+E0068⟩⟨U+E0065⟩⟨U+E0061⟩⟨U+E0074⟩⟨U+E0020⟩⟨U+E0066⟩⟨U+E006F⟩⟨U+E0072⟩⟨U+E0020⟩⟨U+E0034⟩⟨U+E002D⟩⟨U+E0036⟩⟨U+E0020⟩⟨U+E006D⟩⟨U+E0069⟩⟨U+E006E⟩⟨U+E0075⟩⟨U+E0074⟩⟨U+E0065⟩⟨U+E0073⟩⟨U+E0020⟩⟨U+E0070⟩⟨U+E0065⟩⟨U+E0072⟩⟨U+E0020⟩⟨U+E0073⟩⟨U+E0069⟩⟨U+E0064⟩⟨U+E0065⟩⟨U+E0020⟩⟨U+E0075⟩⟨U+E006E⟩⟨U+E0074⟩⟨U+E0069⟩⟨U+E006C⟩⟨U+E0020⟩⟨U+E0066⟩⟨U+E006C⟩⟨U+E0061⟩⟨U+E006B⟩⟨U+E0079⟩⟨U+E0020⟩⟨U+E0061⟩⟨U+E006E⟩⟨U+E0064⟩⟨U+E0020⟩⟨U+E0063⟩⟨U+E006F⟩⟨U+E006F⟩⟨U+E006B⟩⟨U+E0065⟩⟨U+E0064⟩⟨U+E0020⟩⟨U+E0074⟩⟨U+E0068⟩⟨U+E0072⟩⟨U+E006F⟩⟨U+E0075⟩⟨U+E0067⟩⟨U+E0068⟩⟨U+E002E⟩⟨U+200A⟩⟨U+2000⟩⟨U+2000⟩is very yummy";int
Signals
Ordered by severity.
-
unsigned int *salmon = U"⟨U+E0053⟩⟨U+E0065⟩⟨U+E0061⟩⟨U+E0073⟩⟨U+E006F⟩⟨U+E006E⟩⟨U+E0020⟩⟨U+E0073⟩⟨U+E0061⟩⟨U+E006C⟩⟨U+E006D⟩⟨U+E006F⟩⟨U+E006E⟩⟨U+E0020⟩⟨U+E0066⟩⟨U+E0069⟩⟨U+E006C⟩⟨U+E006C⟩⟨U+E0065⟩⟨U+E0074⟩⟨U+E0073⟩⟨U+E0020⟩⟨U+E0077⟩⟨U+E0069⟩⟨U+E0074⟩⟨U+E0068⟩⟨U+E0020⟩⟨U+E006F⟩⟨U+E006C⟩⟨U+E0069⟩⟨U+E0076⟩⟨U+E0065⟩⟨U+E0020⟩⟨U+E006F⟩⟨U+E0069⟩⟨U+E006C⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E006C⟩⟨U+E0065⟩⟨U+E006D⟩⟨U+E006F⟩⟨U+E006E⟩⟨U+E0020⟩⟨U+E006A⟩⟨U+E0075⟩⟨U+E0069⟩⟨U+E0063⟩⟨U+E0065⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E0067⟩⟨U+E0061⟩⟨U+E0072⟩⟨U+E006C⟩⟨U+E0069⟩⟨U+E0063⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E0073⟩⟨U+E0061⟩⟨U+E006C⟩⟨U+E0074⟩⟨U+E002C⟩⟨U+E0020⟩⟨U+E0061⟩⟨U+E006E⟩⟨U+E0064⟩⟨U+E0020⟩⟨U+E0070⟩⟨U+E0065⟩⟨U+E0070⟩⟨U+E0070⟩ -
int -
int -
-
-
Reproduce
Download the file and scan it. Copying it from this page won't work: the hidden characters are shown as markers.