I have this very simple program

```
int test(int asdf){
  asdf = asdf + 1;
  return 0;
}

int main ( int argc, char **argv ){

  int a = 1;
  test(a);
  printf("a is %d\n", a);
}

```

I want the program to output 2, but instead it outputs 1. What went wrong? How should I pass the reference?