nullnullMY_varlist
工作之余抽点时间出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家一起学习一下nullnull
#include <stdio.h> #define va_list void* #define va_end(arg) #define va_arg(arg, type) *(type*)arg; arg = (char*)arg + sizeof(type); #define va_start(arg, start) arg = (va_list)(((char*)&(start)) + sizeof(start)) int accumlate(int nr, ...) { int i = 0; int result = 0; va_list arg = NULL; va_start(arg, nr); for (i = 0; i < nr; i++) { result += va_arg(arg, int); } va_end(arg); return result; } int main(int argc, char* argv[]) { printf("%d\n", accumlate(1, 100)); printf("%d\n", accumlate(2, 100, 200)); printf("%d\n", accumlate(3, 100, 200, 300)); return 0; }
文章结束给大家分享下程序员的一些笑话语录: Bphone之你们聊,我先走了!移动说:我在phone前加o,我叫o缝;苹果说:我在phone前i,我是i缝;微软说:我在phone前加w,我叫w缝;三星说:你们聊,我先走了!
将来王建宙写回忆录的时候,一定要有一句“常小兵为中国移动的发展做出了不可磨灭的贡献”。
--------------------------------- 原创文章 By null和null ---------------------------------