title: C99 remove stricmp() and strnicmp()?
body: <p>Is the functions <code>stricmp()</code> and <code>strnicmp()</code> removed in C99? 
  I always get warning <strong>implicit declaration of funtion stricmp()</strong> (and also <strong>strnicmp()</strong> ) when I try to compile it against C99.
  For example, the simple code below get me that warning.</p>
  
  <pre><code>#include&lt;string.h&gt;
  #include&lt;stdio.h&gt;
  
  char arr[100]="hello";
  char arr2[100]="hEllo";
  
  int main()
  {
     int n=-1;
     printf("%d\n",n);
     n=strnicmp(arr,arr2,3);   // the same when use the function stricmp();
     printf("%d\n",n);
  
     getchar();
     return 0;
  }
  </code></pre>
  
  <p>When I try to compile this piece of code against C99(<code>gcc -Wall -std=c99 main.c -o main</code>), I get that warning. But when I compile it without the <code>-std=c99</code>, no warning will be thrown.
  However, even though there is warning of implicit declaration, my code still work out right.</p>
  
  <p>Why is that? Is that a bug? If not a bug, then what is exactly the change of C99 which make that warning happen?</p>