ネコナゾ娘 (・∀・)

C++点滴

C++博客 联系 聚合 管理
  6 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks
 1#include <stdio.h>
 2// 定义遍历函数
 3typedef int(*_cmd_f)();
 4// 定义遍历器
 5#define BROWSER(PARAM_TYPE , PARAM_FUNC)\
 6void* PARAM_FUNC(_cmd_f fn , PARAM_TYPE* address , int count , void* pout)\
 7{\
 8    int i;for(i = 0 ; i < count ; i++)\
 9         fn(address + i , pout , i );\
10    return pout;\
11}

12// ~~~~~~~
13int squre(int* p) return *= ** *p ; }
14int print(int* p) return printf("%d\t",*p);}
15int __sum(int* p, void* s) return *(int*)s+= *p; }
16
17BROWSER(int,browser);
18int main()
19{
20    int a[] = {1,2,3,4,5,6,7};
21    int s = 0;
22    browser(print , a , 7 , &s); printf("\n");
23    browser(squre , a , 7 , &s);
24    browser(print , a , 7 , &s); printf("\n");
25  browser(__sum , a , 7 , &s);
26    printf("数组之和: %d\n", s);
27    return 0;
28}

29

今天发工资啦,哈哈,顺便贴一段自己写的丑陋代码
posted on 2012-04-17 11:46 neko::nazo 阅读(164) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理