title: Argument type error in C
body: <p>I am supposed to ask the user for a 3 digit number and then replaces each digit by that digit plus 6 modulus 10, then sum all update digits. When I run the program it crashes after I enter a number, warning:</p>
  
  <blockquote>
    <p>format %d expects argument of type 'int *' but argument 2 has type int. </p>
  </blockquote>
  
  <p>Here is my source code:</p>
  
  <pre><code>#include &lt;stdio.h&gt;
  
  int main(int argc, char* argv[])
  {
     int Integer;
     int Divider;
     int Digit1, Digit2, Digit3;
  
     printf("Enter a three-digit integer: ");
     scanf("%d", Integer);
  
     Divider = 1000;
     Digit1 = Integer / Divider;
  
     Integer = Integer % Divider;
     Divider = 100;
     Digit2  = Integer / Divider;
  
     Integer = Integer % Divider;
     Divider = 10;
     Digit3  = Integer / Divider;
  
  
        Digit1 = (Digit1 + 6) % 10;
        Digit2 = (Digit2 + 6) % 10;
        Digit3 = (Digit3 + 6) % 10;
  
     printf(Digit3 + Digit1 + Digit2);
  
     getch();
     return 0;
  }
  </code></pre>
  
  <hr>
  
  <p><strong>Update</strong></p>
  
  <p>In our example output if the user enters <code>928</code> the resulting number should be <code>584</code>. I'm not exactly sure how that number is made. It should replace each digit by the sum of that digit plus 6 modulus 10. So is there a math error in my code as well? </p>