/* * * * * * * * * * * * * * * * * * * * * * pfunc是一个函数指针,指向一个接受 * 一个函数指针做参数并返回一个函数指针的函数 */ #include <stdio.h> void (*func (void (*) (void))) (void); void func2 (void); int main (void) { void (*(*pfunc) (void (*) (void))) (void) = NULL; void (*pfunc2) (void) = NULL; void (*pfunc_tmp) (void) = NULL; pfunc2 = func2; pfunc = func; pfunc_tmp = *(*pfunc) (pfunc2); (*pfunc_tmp) (); puts ("Press ENTER to quit./n"); getchar (); return 0; } void (*func (void (*pfunc) (void))) (void) { puts ("Though func./n"); (*pfunc) (); return pfunc; } void func2 (void) { puts ("Though func2./n"); return; }