From 4f4f15995eb96927a3ea4f3809432c5578a5054a Mon Sep 17 00:00:00 2001 From: asus Date: Wed, 24 Jan 2024 00:09:50 +0100 Subject: [PATCH] wip i have something with va_args --- 2_Grace/Grace.c | 55 +++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 51 insertions(+), 4 deletions(-) diff --git a/2_Grace/Grace.c b/2_Grace/Grace.c index dd13c94..3e9e6b9 100644 --- a/2_Grace/Grace.c +++ b/2_Grace/Grace.c @@ -1,9 +1,56 @@ +//#include +//#define PRINT "test" +//#define FT(x) int main(){\ +// char *to_print = "hello "x" hello";\ +// printf("%s", to_print);\ +// return 0;\ +//} +//#define SFT(x) FT(x) +// +//FT(PRINT) + + +//#include +//#define PRINT to_print, 10 +//#define FT(...) int main(){\ +// char *to_print = "hello %c"#__VA_ARGS__" hello";\ +// printf(PRINT);\ +// return 0;\ +//} +//#define FFT(...) FT(__VA_ARGS__) +// +//FFT(PRINT) + + +//#include +//#define PRINT to_print, 10 +//#define FT(x) int main(){\ +// char *to_print = "hello %c"#x" hello";\ +// printf(x);\ +// return 0;\ +//} +// +//FT(PRINT) + + +//#include +//#define PRINT quine, 10, 10, 10, 34, quine, 34, 10, 10, 10, 10, 10 +//#define FT(x) int main(){\ +// char *quine = "#include %c#define "#x" %c#define FT int main(){%c char *quine = %c%s%c;%c printf(PRINT);%c return 0;%c}%cFT%c";\ +// printf(x);\ +// return 0;\ +//} +// +//FT(PRINT) + + #include -#define PRINT quine, 10, 10, 34, quine, 34, 10, 10, 10, 10, 10 -#define FT int main(){\ - char *quine = "#include %c#define FT int main(){%c char *quine = %c%s%c;%c printf(PRINT);%c return 0;%c}%cFT%c";\ +#define PRINT quine, 10, 10, 10, 34, quine, 34, 10, 10, 10, 10, 10 +#define FT(...) int main(){\ + char *quine = "#include %c#define "#__VA_ARGS__" %c#define FT int main(){%c char *quine = %c%s%c;%c printf(PRINT);%c return 0;%c}%cFT%c";\ printf(PRINT);\ return 0;\ } +#define FFT(...) FT(__VA_ARGS__) -FT +FFT(PRINT)