Categories
c printf

Is there a way to have printf() properly print out an array (of floats, say)?

I believe I have carefully read the entire printf() documentation but could not find any way to have it print out, say, the elements of a 10-element array of float(s).

E.g., if I have

float[] foo = {1., 2., 3., ..., 10.};

Then I’d like to have a single statement such as

printf("what_do_I_put_here\n", foo);

Which would print out something along the lines of:

1. 2. 3. .... 10.

Is there a way to do that in vanilla C?

you need to iterate through the array’s elements

float foo[] = {1, 2, 3, 10};
int i;
for (i=0;i < (sizeof (foo) /sizeof (foo[0]));i++) {
printf("%lf\n",foo[i]);
}

or create a function that returns stacked sn printf and then prints it with

printf("%s\n",function_that_makes_pretty_output(foo))