Zugriffsverletzung?????



  • Hallo!

    Eigentlich funktioniert das Programm so, wie es soll. Am Ende schmiert aber alles mit einer Zugriffsverletzung ab. Hat jemand ne Idee wieso??

    Hier der Teil des Programms, wo der Hund begraben liegt:

    //Einlesen und Umwandeln des Eingabearrays
        char zahl[9];
        int eingabezahl[256];
        int j,k,zaehler=0;
        int langeingabe=strlen(eingabe);
    
        for (j=0;j<langeingabe;j++)
        {
         k=0;
           //Einlesen der Ziffer mit Vorzeichen
         while(eingabe[j]!='x')
         {
          zahl[k]=eingabe[j];
          j++;
          k++;
         }
           //Umwandeln der "char-ziffer" in "richtiges int"
         eingabezahl[zaehler]=atoi(zahl);
         zaehler++;
        }
    
        /*Ausgabe der Int-Werte Position der Zahl im Array ist
        gleichzeitig Potenz des x-Wertes*/
        //clrscr();
        cout<<"Deine Eingabe lautet:"<<endl<<endl;
        zaehler--; //abschliessende 0 des char-Arrays wird übergangen
        int jj;
        for (jj=0;jj<zaehler;jj++)
        {
         cout<<eingabezahl[jj]<<"      "<<"Potenz x:  "<<jj<<endl;
        }
    


  • Je nachdem was in eingabe steht, kann das hier zu einem Schreiben über die Arraygrenze von zahl führen:

    while(eingabe[j]!='x') 
         { 
          zahl[k]=eingabe[j]; 
          j++; 
          k++; 
         }
    

Anmelden zum Antworten