YouTip LogoYouTip

C Macro Va_Arg

## C Library macro – va_arg() `va_arg()` The macro used to retrieve the next parameter from a variable argument list. ### Syntax ```c va_arg(va_list ap, type) ### Parameter * `ap`: a `va_list` Variable pointing to the current parameter position. * `type`: The type of the parameter to be retrieved. ### ReturnValue Return `type` The next parameter of the specified type. ### Instance The following example demonstrates how to use `va_arg()` Macro: ```c #include #include double average(int num, ...) { va_list valist; double sum = 0.0; int i; va_start(valist, num); for (i = 0; i < num; i++) { sum += va_arg(valist, double); } va_end(valist); return sum / num; } int main() { double avg; avg = average(4, 12.2, 14.5, 18.9, 19.7); printf("Average of 4 numbers: %fn", avg); avg = average(5, 12.2, 14.5, 18.9, 19.7, 21.3); printf("Average of 5 numbers: %fn", avg); return 0; } ### Output result Average of 4 numbers: 16.350000 Average of 5 numbers: 17.040000
← C Macro Va_EndC Macro Va_Start β†’