seltsame Zuweisung



  • Hi,

    ich habe ein für mich äusserst seltsames Problem.

    Ich habe folgenden Quellcode copiliert und erhalte auch keinerlei Fehlermeldungen.

    (Bei dem kleinen Programm handelt es sich um die Ausgabe des Pascalschen-Dreiecks.)

    #include<stdio.h>
    
    int iArray[20] = { 0 , 1};
    int iPufferArray[20];
    
    int iWiederholungen=0;
    
    int main()
    {
    
    printf("1");
    
    for(iWiederholungen =10; iWiederholungen <= 10 ; iWiederholungen++ );
        {
    
        printf("\n");
    
        for( int j = 0 ; j <= iWiederholungen ; j++ )
            {
            iPufferArray[j+1] = iArray[j] + iArray[j+1];
            printf("%d", iPufferArray[j+1]);
            }
    
        for( int i=0 ; i <= 20 ; i++ )
            {
            iArray[i] = iPufferArray[i];
    
            }
        }
    
    return 0;
    
    }
    

    mein Problem ist jetzt folgendes:

    in der ersten for-Schleife weise ich iWiederholungen eigentlich den Wert 1 zu.
    lässt man allerdings den Debugger drüberlaufen so sieht man das iWiederholungen den Wert 11 bekommt.

    Nehm ich statt 1 einen Wert grösser 11 so funktioniert die Zuweisung auf einmal wieder.

    ich arbeitet mit MS Visual C++ 6
    PS: habe den Code auch schon unter Linux zum laufen gebracht (mit g++ compiliert), der Fehler ist aber der selbe.

    am Compiler kanns also nicht liegen oder ???

    Bitte um Hilfe.

    Uncle Sam



  • hab gerade noch einen Fehler bewerkt:

    in der ersten For-Schleife muss natürlich iWiederholungen=1 stehen und nicht 10



    1. ein C/C++ Programmierer zaehlt von 0 bis 9 und nicht von 1 bis 10
      und
    2. lass doch den ; nach dem for mal weg 🙂


  • vielen Danke für die schnelle Hilfe.

    Hab den Wald vor lauter ...usw.

    PS: zu der Zählweise, is nur ein Beispiel wo er halt 10 mal die Berechnung durchführt, da könnte auch 4 oder 200 stehen, müsste aber dann die Arrays anpassen.;)

    aber trotztdem Danke.

    Tschau Uncle Sam


Anmelden zum Antworten