#include <stdio.h>
typedef void(*PTR_TO_FUN)(void);
PTR_TO_FUN funA(int, PTR_TO_FUN);
void (*funB(int, void (*pf)(void)))(void);
void Test(void);
int main(void)
{
funA(3, Test);
printf("\n");
funB(3, Test);
printf("\n");
funA(2, Test)();
printf("\n");
funB(2, Test)();
printf("\n");
funA(0, Test);
printf("\n");
funB(0, Test);
printf("\n");
funA(-1, Test);
printf("\n");
funB(-1, Test);
return 0;
}
PTR_TO_FUN funA(int n, PTR_TO_FUN pf)
{
if(n < 0) // 只是一个测试,不然最后只返回pf没有意义,这样还算有点意义^_^
return NULL;
while(n--)
{
pf();
}
return pf;
}
void(*funB(int n, void(*pf)(void)))(void)
{
if(n < 0) // 只是一个测试,不然最后只返回pf没有意义,这样还算有点意义^_^
return NULL;
while(n--)
{
pf();
}
return pf;
}
void Test(void)
{
printf("Test\n");
}
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
Test
请按任意键继续. . .
|