Skip to content

Instantly share code, notes, and snippets.

View Giuseppe5000's full-sized avatar
🏝️

Giuseppe Tutino Giuseppe5000

🏝️
View GitHub Profile
@Giuseppe5000
Giuseppe5000 / quine.c
Created October 4, 2025 10:18
Quine in C
#include <stdio.h>
char source[] = "#include <stdio.h>%N%%N%char source[] = %Q%;%N%%N%int main(void) {%N% for (int i = 0; source[i] != 0; ++i) {%N% if (663 - i >= 3 && source[i] == '%' && source[i+1] == 'Q' && source[i+2] == '%') {%N% putc(34, stdout);%N% for (int j = 0; source[j] != 0; ++j) putc(source[j], stdout);%N% putc(34, stdout);%N% i += 2;%N% }%N% else {%N% if (663 - i >= 3 && source[i] == '%' && source[i+1] == 'N' && source[i+2] == '%') {%N% putc(10, stdout);%N% i += 2;%N% }%N% else putc(source[i], stdout);%N% }%N% }%N%%N% return 0;%N%}%N%";
int main(void) {
for (int i = 0; source[i] != 0; ++i) {
if (663 - i >= 3 && source[i] == '%' && source[i+1] == 'Q' && source[i+2] == '%') {
putc(34, stdout);
for (int j = 0; source[j] != 0; ++j) putc(source[j], stdout);
putc(34, stdout);