Supprimer une valeur dans un tableau en C

Dieses Programm sucht und löscht einen eingegebenen Wert, es hat zwei Schritte:
  1. Liste durchsuchen  bis die Suche abgeschlossen ist  und merken Sie sich den Hinweis  in einer Variablen k.
  2. Löschen Sie den Wert auf k.
#einschließen< stdio.h>
#einschließen< stdlib.h>

int  i,k;
struct
{
              int  l;
              int  t[50];
}Tab;

void  sup(int  t[20],int  k)
{
          for(i=k; Ich< tab.l; i++)
          t[i]=t[i+1];
        tab.l--;
}

main()
{       
            //Änderung  die  Farbe  Von  Die Schnittstelle  de  blue
            system("color 9e");
            int  Tal;
            printf("Geben Sie die Tabellengröße ");
            do
          scanf("%d",& tab.l);
            //la  Größe  von  Tabelle  Tue nicht muss  Nicht  Überschreiten  50
            while((tab.l>=50)||(tab.l<=0));
            //ausfüllen  die  Tabelle  mit  die  values
            for(i=0; Ich< tab.l; i++)
          {
                                                          printf("T[%d]=",i);
                                                          scanf("%d",& tab.t[i]);
            }
            //Anzeige  d array
          printf("Tabellenanzeige \n");
            for(i=0; Ich< tab.l; i++)
          printf("\t\tT[%d]=%d\n",i,tab.t[i]);
         
            printf("Geben Sie den Wert von  Das Element  um ");
          scanf("%d",& val);
            //Suche  die  Wert  in  die  Tabelle  und  Löschen  la
            for(k=0; k< tab.l; k++)
            if(tab.t[k]==val)
                sup(tab.t,k);
         
          puts("");
            //Anzeige  nach  deletion
          printf("Neue Tabelle anzeigen \n");
            for(i=0; Ich< tab.l; i++)
          printf("\t\tT[%d]=%d\n",i,tab.t[i]);
         
            system("pause");
            return  0;
}