搞得无意义的如此复杂,只为深度C语言

 

搞得无意义的如此复杂,只为深度C语言

#include <stdio.h>

int main(void) {
	#define N 3
	#define max(a, b) ((a) > (b)?(a):(b))
	#define __NR_hello 0x81
	#define __NR_world 0x82
	#define f(type, name) \
	type name(void) { \
		printf("0x%x\n", __NR_##name);\
	}
	f(int, hello)
	f(char, world)
	hello();
	world();
	printf("%0.3f\t", max(2.3, 1.2));
	void (*ff[N])(void);
	int* (*(*myff())[5])(int a, char b);
	ff[1] = (void*)hello;
	ff[2] = (void*)myff;
	ff[0] = (void*)world;
	int i = 0;
	for(;i < 3; i++)
		ff[i]();
	void* (*fzz())(int a){
		void* fff(int a){
			printf("%%%%%d%%%%%\n", a);
		}
		typedef void* (*f)(int);
		f ff = fff;
		return ff;
	}
	void* (*fff)(int);
	fff = fzz();
	fff(8);
}

int* (*(*myff())[5])(int a, char b){
	printf("welcome to you!\n");
}