C 函数指针,宏

打印1~1000.(不使用循环,不使用条件语句)

 

1 使用函数指针退出

代码
void yesprint(int i);
void noprint(int i);
 
typedef 
void(*fnPtr)(int);
fnPtr dispatch[] 
= { yesprint, noprint };
 
void yesprint(int i) {
    printf(
"%d\n", i);
    dispatch[i 
/ 1000](i + 1);
}
 
void noprint(int i) { /* do nothing. */ }
 
int main() {
      yesprint(
1);
}

2 使用宏

#include
#define Out(i)       printf("%d\n", i++);
#define REP(N)       N N N N N N N N N N
#define Out1000(i)   REP(REP(REP(Out(i))));
void main()
{
    
int i = 1;
    Out1000(i);
}


 

 

posted @ 2011-01-07 11:20  Keosu  阅读(321)  评论(0编辑  收藏  举报