PIC MCU: Using pointers to alter output
You aren't initialising value or result - in fact although you are assigning a value to result with: *result=output; you never use result again so this line is completely redundant.
this line: output=&amp;value+1; says take the address of value, add 1 to it (the location of the place after value ???) and then make output points to it

I think what you meant to do was:

output = &amp;value;    // do this once before the loop to make output point at value
   // or you could initialise it when you declare it like this:
int *output = &amp;value ;

*output = *output+1 // in the loop. increase 'value'


comments by others are correct regarding function declarations