title: invalid operands to binary * (have ‘int’ and ‘int *’)
body: <p>I am trying to find out the factorial of a number using recursion and passing the pointers as function arguments. But this error appears all the time. Debugers and Coders! I need your assistance with this.    </p>
  
  <pre><code>The code
  
  #include&lt;stdio.h&gt;
  
  int *factorial(int *);
  int value, p=0, q=1, x, tmp;
  
  void main() {
  int *result;
      puts("Enter the value::");
      scanf("%d",&amp;value);
  
      result = factorial(&amp;value);
      printf("\nThe Result is::%d\n", *result);
  }
  int *factorial(int *n) {
      if(*n == p || *n == q) {
          return(&amp;q);
      }
      else {
          tmp = *n -1;
          *n *= (factorial(&amp;tmp));
          return(n);
      }
  }
  
  The error:
  error: invalid operands to binary * (have ‘int’ and ‘int *’)
     *n *= (factorial(&amp;tmp));
  </code></pre>