[gelöst] verstecke Endlosschleife



  • Hallo allerseits,
    ich habe ein Programm geschrieben, um Primzahlen zu berechnen. Dabei ging ich so vor, dass ich alle Vielfachen von einer Primzahlen "eliminiert" habe. Nun bekomme ich aber beim Start eine mir unbekannte Endlosschleife. Dh, dr PC arbeitet zwar kräftig, ohne dass etwas passiert.

    gdb hat beim backtrace folgendes ausgeben:

    (gdb) backtrace
    #0 0x080483e3 in main ()

    hier mein Programm:

    #include <stdio.h>
    
    int main()
    {
    	int i, j, k, l, m;
    	int zahlen[2000];
    
    	zahlen[0] = 0;
    	zahlen[1] = 0;
    	for(i = 2; i <= 2000; i++)
    		zahlen[i] = 1;
    
    	for(j = 2; j <= 2000; j++)
    	{
    
    		for(k = j+1; k<=2000; k++)
    		{
    			if( (k % j) == 0)
    				zahlen[k] = 0;
    		}
    	}
    
    	/* print primes */
    	for(l = 0; l < 2000; l++)
    	{
    		for(m = 0; m < 10; m++)
    		{
    			if( zahlen[l] != 0)
    				printf("%d\t", zahlen[l]);
    		}
    
    		printf("\n");
    	}
    
    }
    

    Vielen Dank für Tipps!



  • Arrays gehen in C von 0 bis bound - 1.

    cheers, Swordfish


Anmelden zum Antworten