Wow, I dunno what I was thinking recommending using a static variable. If I recall correctly it was the OP's statement that he couldn't use an algorithm (which I took to mean he couldn't use an expression like num = intUp( num ); ) which lead me in that direction. Ideally I'd simulate passing by reference with a pointer.
However with the attempt to use static above, here's a hint... If you declare and initialize a static variable inside a function, it's only initialized once (first use), so subsequent calls to that function will not re-initialize the variable. Additionally it does not get cleared from memory when the function block is exited, and still retains it's scope (meaning once you leave that block, you can't access it until you re-enter that block).