Stephen,
Find a good primer on C and read it. I highly recommend
http://www.lysator.liu.se/c/bwk-tutor.html
Understand that I am not trying to be cruel... I just feel that you have not attempted to work things out for yourself. If Mr. Watson gave you all of the answers, what would you learn?
As it is, I feel he has given you too much.
I think back to my freshman days at college. A fellow student (I'll call him John) was hopelessly lost and in over his head. Another student gave him the program (it was a stack of punchcards for an IBM 360 mainframe). All John had to do was change the job card (the top card on the stack) and run his program...
John screwed it up and, after several hours, declared that he had changed all of the variable names and the program still didn't work!
John's problem was that he never read the material required by the professor and was too busy talking in class to pay attention.
Now to your situation. Your earlier post indicates that you have no real understanding of C. The variable count is a local variable inside of Get_Right_Encoder_Count and has nothing at all to do with the local variable count inside of Get_Left_Encoder_Count. Both functions return a number to the statement which called them.
Suppose I asked you to find out how many pennies Marsha has and then how many Bill has? You would go to Marsha and find out she has 3 pennies and report this to me. Then you would go to Bill hand find out he has 2 pennies and report it to me. The face that Marsha had 3 pennies does not influence the fact that Bill has two. I did not ask you to add then together... Just report.
The function Get_Right_Encoder_Count has no idea what other functions are available. It just reports the number of clicks that the right encoder has seen.
The last line of the function could have been written:
return(Right_Encoder_Count);
without any local variable... Does this make sense?
Bottom line: Mr. Watson's code works.