Where should be parameters used for output located in the function parameters list
Just my personal opinion, but if it reflects copy or assignment semantics, then I prefer to put them to the beginning, just like string and certain stdio functions in the C standard library do:
strcpy(dest, src);
looks like
dest = src;
and
fgets(buf, sizeof(buf), file);
looks like
buf = contents_of(file);
If, however, for some reason this is not the case, then I like to organize things so that input comes first, then output, so then I put output arguments at the end of the argument list.
Let me mention another point:
Input parameters can have default values. To use this feature, this (or these) parameter(s) nned to be at the end of a function's parameter list.
Therefore, and for the same reason stated by user529758 already, I also started to put output parameters at the beginning of the parameter list.
There are two schools of thought, exemplified by different functions in the C library:
Assignment order
memmove(target, source, size);
Input then output
sscanf(source, format, &out1, &out2, &out3);
If there's more than one output, usually put them at the end.