Generally speaking, for any
language, multiplying by
changes the sign of a number, either integer or floating point.
I'm going to guess that something went wrong when you posted your code, since what you have here does some calculations with uninitialized data, prompts for values, then exits, which is guaranteed to give unexpected results. I also notice
The format specifier
tells scanf() to expect a pointer to a double (i.e. long float), but in this case Vi is a float. So again, its unknown what value Vi will ultimately get. It might be the value expect, it might be zero, or it might be some other, seemingly random value. Depending on the compiler you're using, turning on compiler warnings should catch that mistake.