Subtraction function verifys OK but does not work on serial monitor

Cant get subtraction function to work on serial monitor please help open to advice and suggestion

int AnsOne = 0;

void setup() {
  Serial.begin (9600);
  Serial.println ("Hey guy! Lets do M@th!");
  Serial.println ("Here is a HARD one.");
  Addition (200, 300);
  Serial.println (ValChk (AnsOne));
  Serial.println (subtract (AnsOne));

void loop() {}

void Addition (int ValOne, int ValTwo) {
  AnsOne = ValOne + ValTwo;
  Serial.print (ValOne);
  Serial.print ("+");
  Serial.print (ValTwo);
  Serial.print ("=");
  Serial.print (AnsOne);

int ValChk (int ValAns){
  if (ValAns > 2000)
  return 1;
  else return 0;}

int multiply (int ValFactor){
  int MultiAns=AnsOne*ValFactor;
  return MultiAns; 

int subtract (int ValFactor){
  int MultiAns=AnsOne-ValFactor;
  return MultiAns;

I think I can see your problem (it isn't with the - operator or the serial monitor, I can assure you), but for the sake of others, you may want to explain what you think is wrong, and post your observations and expectations

Cant get subtraction function to work on serial monitor

The code does something. We can not see what you see, so you have to tell us what it does.

Since you pass the value in AnsOne to the subtract() function, and then subtract that value from AnsOne, I'd expect you to print 0 every time. Is that what happens? If so, why do you expect something different to happen?

It's an object lesson in scope, isn't it?

(Edit "is" -> "in", sorry)

AWOL: It's an object lesson is scope, isn't it?

I think that's lesson two. Lesson one is forming realistic expectations and playing processor, explaining to your teddy bear what you think the code is doing.