Yes you need to else you work with garbage values.
May be you didn't quite get it,by using an ampersand you actually give the function true memory addresses of
initial, fuel, taxRate
to directly make changes
If you don't use them,a COPY will be created and
initial, fuel, taxRate
won't have values which you originally entered in
void displayInstructions(..)
Since you enter these values in the function
void displayInstructions(..)
and then later use it in some other computation,don't you need the actual values which were entered in the
void displayInstructions(.....) //??
And yes in main()
it should be
int main()
{
float initial, fuel, taxRate;
displayInstructions(inintial,fuel,taxRate);//No ampesrand here