Comprobar si dos cadenas pasadas por argumentos coinciden en C

#include <stdio.h>
#include <string.h>
#define NUMCARACTERES 100

int main (int argc, char *argv[])
{
 
 char cad[NUMCARACTERES];
 
 //Comprobamos el número de argumentos
 if(argc!=2)
  printf("\nError, el número de argumentos no es correcto\n");
 else
 {
  //Leemos la cadena
  printf("\nIntroduzca una cadena: ");
  gets(cad);
  
  //La comparamos con la que se le pasó como parámetro del main
  if(strcmp(argv[1],cad)==0)
   printf("\nLas cadenas coinciden\n");
  else
   printf("\nLas cadenas no coinciden\n");
      
 }
 return 0;

}