title: OR and less than operators not working as intended C language
body: <p>I'm doing an exercise of a book called programming in C language, trying to solve exercise 7.9 and so my code works perfectly until I add a conditional statement for the function to only accept variables greater than 0</p>
  
  <p>I have tried changing it in many ways but nothing seems to work</p>
  
  <pre><code>// Program to find the least common multiple
  #include &lt;stdio.h&gt;
  
  int main(void)
  {
   int lcm(int u, int v);
  
   printf("the least common multiple of 15 and 30 is: %i\n", lcm(15, 30));
  
   return 0;
   }
  // Least common multiple
  int lcm(int u, int v)
  {
   int gcd(int u, int v);
  
   int result;
  
   if (v || u &lt;= 0)
   {
      printf("Error the values of u and v must be greater than 0");
      return 0;
   }
  
   result = (u * v) / gcd(u, v);
   return result;
  }
  // Greatest common divisor function
  int gcd(int u, int v)
  {
   int temp;
   while (v != 0)
   {
      temp = u % v;
      u = v;
      v = temp;
   }
   return u;
   }
  </code></pre>
  
  <p>I expect the output of lcm(15, 30) to be 30, but I keep getting an error, if a delete de if statement inside the lcm function it works fine, but I want the program to return an error if for example I use (0, 30)</p>