Comment Re:Salmon (Score 2) 26
The rest of the code is pretty explicit when special invisible characters are shown in hexa after the added char `^` for clarity
#define grill^f3^a0^81^81
#undef grill
#define ^f3^a0^81^81 grill^f3^a0^81^81
#undef grill
int main() {^f3^a0^81^81 ^f3^a0^81^81
for (int i = 1; i printf("%d * %d = %d\n", i, i, i*i);
}
}
The 2 `#undef` are useless.
The first `#define grillHEX code` (which HEX are not visible) defines the real running code.
The second `#define HEX grillHEX` defines HEX as being the running code above.
Finally the invisible HEX is expanded as
Since `putchar()` only prints the LSB and returns its value, the first `while` prints the entire string "Season salmon fillets..." and stops on the byte zero.
The 2nd `while` reads a zero and stops immediately, thus not executing the `for
Amazing work!