title: passing argument makes pointer from integer
body: <p>I can't find my problem. keeps giving me these errors:</p>
  
  <pre><code>"c:2:5: note: expected 'int *' but argument is of type 'int'"
  "c:28:1: warning: passing argument 1 of 'CountEvenNumbers' makes pointer from
     integer without a cast [enabled by default]"
  </code></pre>
  
  <p>Here is the code:</p>
  
  <pre><code>1 #include &lt;stdio.h&gt;
  2 int CountEvenNumbers(int numbers[], int length);
  3 int main(void)
  4 {
  5 int length;
  6 int X;int Z; int Y; int W;
  7 X=0;Y=0;Z=0;W=0;
  8 printf("Enter list length\n");
  9 scanf("%d",&amp;length);
  10 int numbers[length];
  11 
  12 if (length&lt;=0)
  13 .   {printf("sorry too low of a value\n");
  14 .   .   return 0;}
  15 else
  16 .   {
  17 .   printf("Now, enter %d integers\n",length);
  18 .   for (X=0;X&lt;length;X++)
  19 .   .   {scanf("%d",&amp;Y);//X is position in array, Y is value.
  20 .   .   numbers[X]=Y;
  21 .   .   }
  22 .   printf("The list reads in as follows:\n");
  23 .   for (W=0;W&lt;length;W++)
  24 .   .   {Z=numbers[W];
  25 .   .   printf("%d ",Z);}
  26 .   printf("\n");
  27 .   }
  28 CountEvenNumbers( numbers[length] , length );
  29 return 0;
  30 }
  31 
  32 int CountEvenNumbers(int numbers[], int length)
  33 {
  34 .   int odd_count;int even_count;int P;int Q;
  35 .   Q=0; odd_count=0;even_count=0;
  36 .   for (P=0;P&lt;length;P++)
  37 .   .   if (numbers[Q]==0)
  38 .   .   .   {even_count++;
  39 .   .   .   Q++;}
  40 .   .   else if ((numbers[Q]%2)!=0)
  41 .   .   .   {odd_count++;
  42 .   .   .   Q++;}
  43 .   .   else
  44 .   .   .   {even_count++;
  45 .   .   .   Q++;}
  46 .   printf("There are %d even numbers in the series\n",even_count);
  47 .   return 0;
  48 }
  </code></pre>