Zugriffsverletzung



  • Hi,
    bin noch Neuling in C und würde ganz gerne wissen, was es zu bedeuten hat das bei folgendem Programm (soll Zahlen in aufsteigender Reihenfolge in ein Feld einfügen) nach der Eingabe von "Zahl" eine Fehlermeldung kommt, dass es eine Zugriffsverletzung gibt und das Programm sich aufhängt. Wäre echt nett wenn sich jemand die Zeit nehmen könnte um mir das Problem mal zu erläutern.

    P.S Das Prog hat bestimmt noch andere Fehler, ist die erste Fassung aber wie soll ich die Lösen wenn ich es noch nicht mal ausführen kann, der Debugger hängt sich an der Stelle ja auch auf.

    #include <stdio.h>
    
    int main (void)
    {
    	int l,i,n,k,Zahl=0,Anzahl=0;
    	char Entsch;
    	int Feld[100];
    
    	printf("\nWie lang soll ihr Feld werden? (max 100)");	scanf("%d",&l);
    
    	while(Anzahl<l)
    		{
    			printf("\nGeben Sie eine Zahl ein!"); scanf("%d",Zahl);
    
    			if(Zahl>Feld[Anzahl])
    				{
    					Feld[Anzahl+1]=Zahl;
    				}
    
    			else
    				{
    					for(i=0;Zahl>=Feld[i];i++)
    
    					for(n=l;n>i;n--)
    						{
    							Feld[n]=Feld[n-1];
    						}
    
    					Feld[i+1]=Zahl;
    				}
    
    			Anzahl++;
    
    			for(k=0;k<=Anzahl;k++)
    				{
    					printf("%d",Feld[k]);
    
    					if(k==i+1)
    						{
    							printf("(neu)");
    						}
    				}
    
    			printf("\nNoch eine Zahl?(j/n)");	getchar();
    			Entsch=getchar();
    
    			if(Entsch=='n')
    				{
    					break;
    				}
    		}
    }
    

    Vielen Dank im Vorraus!

    Gruß vom Muschelsucher



  • scanf erwartet die Adresse von Zahl!



  • Vielen Dank Curry-King,

    da hab ich doch glatt das kleine & übersehen. Man sollte sich wohl ein wenig wacher vor die Fehlersuche setzen:-)

    Gruß vom Muschelsucher


Anmelden zum Antworten