Probleme beim nullterminieren eines Zahlenarrays



  • Moin,

    Ich habe gerade ein recht nerviges Problem mit einem Zahlenarray der Sorte Short.
    Und zwar bastel ich gerade an einem Programm dass eine Zahl beliebig berdoppelt.
    Das Ergebnis dieser verdoppelrei wird in eine Datei geschreiben.

    Für das Ganze habe ich eine Variable mit der Länge von 5000 angelegt (nur zum testen).
    Nun möchte ich eigentlich an jeder Stelle dieser Variable eine 0 haben.
    Dafür habe ich, wie sollts anders sein, eine for-Schleife erstellt, die jede Stelle auf 0 setzt.

    Beispiel:

    for( ii = 0; ii < 5000; ii++ );
    	{
    		zahlenstring[ii] = 0;
    	};
    

    Wenn ich aber einen Schritt später teste, ob an jeder Stelle ne 0 steht, bekomme ich nur Fehler, dass da keine 0 sondern irgendetwas anderes steht.

    Beispiel:
    ...
    Fehler @ 4985 = 36
    Fehler @ 4986 = 23700
    Fehler @ 4987 = 30656
    Fehler @ 4988 = 8328
    Fehler @ 4989 = 30654
    Fehler @ 4990 = -1
    ...

    Getestet habe ich das Ganze so:

    for( ii = 0; ii < 5000; ii++ )
    	{
    		if( zahlenstring[ii] != 0 )
    		{
    			fprintf( stderr, "Fehler @ %d = %d\r\n", ii, zahlenstring[ii] );
    		};
    	};
    

    Weis Jemand von euch was ich da falsch mache?

    mFg und vielen Dank,
    Hagge

    PS: Hab via Google nichts finden können.



  • for( ii = 0; ii < 5000; ii++ ); 
        { 
            zahlenstring[ii] = 0; 
        };
    

    Du benutzt viel zu viele ;

    Es sollte so aussehen:

    for( ii = 0; ii < 5000; ii++ )
        { 
            zahlenstring[ii] = 0; 
        }
    


  • stell den compiler nächstesmal auf höchste warnstufe. es könnte dann sein, dass er dann warnt 'loop without body' o.ä.
    🙂



  • Oh man, natürlich... *im Boden versinkt*

    Vielen Dank 🙂


Anmelden zum Antworten