#include <stdarg.h>
#include <stdio.h>
#define average(...) ( \
_average((int[]){__VA_ARGS__}, sizeof((int[]){__VA_ARGS__}) / sizeof(int)) )
double _average( int nums[], size_t size)
{
if (!size) return 0.0;
double sum = 0.0;
int i = 0;
while (i < size) sum += nums[i++];
return sum / size;
}
int main(void) {
printf( "average: %.2f\n", average
( 10, 20, 30)); return 0;
}
ICAgICNpbmNsdWRlIDxzdGRhcmcuaD4KICAgICNpbmNsdWRlIDxzdGRpby5oPgoKICAgICNkZWZpbmUgYXZlcmFnZSguLi4pICggXAogICAgICBfYXZlcmFnZSgoaW50W10pe19fVkFfQVJHU19ffSwgc2l6ZW9mKChpbnRbXSl7X19WQV9BUkdTX199KSAvIHNpemVvZihpbnQpKSApCgogICAgZG91YmxlIF9hdmVyYWdlKCBpbnQgbnVtc1tdLCBzaXplX3Qgc2l6ZSkKICAgIHsKICAgICAgICBpZiAoIXNpemUpIHJldHVybiAwLjA7CiAgICAgICAgZG91YmxlIHN1bSA9IDAuMDsKICAgICAgICBpbnQgaSA9IDA7CiAgICAgICAgd2hpbGUgKGkgPCBzaXplKSBzdW0gKz0gbnVtc1tpKytdOwogICAgICAgIHJldHVybiBzdW0gLyBzaXplOwogICAgfQoKICAgIGludCBtYWluKHZvaWQpIHsKICAgICAgICBwcmludGYoICJhdmVyYWdlOiAlLjJmXG4iLCBhdmVyYWdlKCAxMCwgMjAsIDMwKSk7CiAgICAgICAgcmV0dXJuIDA7CiAgICB9Cg==