title: unexpected output with getchar()
body: <pre><code>char c = ' ';
  while(c != 'x')
  {       
      c = getchar();
      printf("threadFuncParam = %u\n", threadFuncParam);
  }
  </code></pre>
  
  <p>In the above code snippet the print is printing threadFuncParam value twice every time I enter a character where as I expect it to print only once.
  As per my understanding very first  time it enters while as condition is true and and then wait for user input at getchar call on entering a character it shall print the value and then if input character is not x it shall wait for another input at getchar call, but whenever i enter a character i see 2 prints ion screen for each input. I am not able to understand why?</p>
  
  <p>What i'm trying to do here is that in main thread i am taking single char input from user and in worker thread i am incrementing a counter which gets incremented every second, i print the value everytime user input a char input until user enters 'x' character.</p>