title: Does "is_linux" variable have special meaning?
body: <p>I don't understand why the result of the <code>if</code> statement below is always incorrect:</p>
  
  <pre><code>unsigned long is_linux;
  printf("plz. enter a digit : ");
  
  gets(str);
  sscanf(str,"%d",&amp;is_linux);
  
  printf("the value of is_linux = %d \n",is_linux);
  if(is_linux==1)
      printf("Here is 1 ! \n");
  else
      printf("There is 0 ! \n");
  </code></pre>
  
  <p>I can only get "There is 0 !" statement, even if I entered "1". Furthermore, <code>printf()</code> statement displays the value of <code>is_linux</code> (1) correctly:</p>
  
  <blockquote>
  <pre><code>plz. enter a digit : 1
  the value of is_linux = 1 
  There is 0 !
  </code></pre>
  </blockquote>
  
  <p>It works well if I change the variable to another name, for instance,<code>test</code>. Is there any reason for not using <code>is_linux</code> variable ? I've compiled above source code using <code>gcc</code> at <code>x86_64-redhat-linux</code>.</p>