Frage zur Abbruchbedingung einer for-Schleife



  • Hallo,

    ich habe eine Frage zur for-Schleife. Wie kann ich, in Abhängigkeit von einem Parameter, den zweiten Parameter (also die Bedingung für den Abbruch der Schleife, in meinem Fall GRÖSSER und KLEINER ALS) verändern.
    Ich wollte das mit einem Macro machen (siehe Code), dies ging aber nicht 😞
    DANKE!
    STICK.

    int main ()
    {
      int i=1;
    
      if (!i)
      {
        #define HELP
      }
    
    #ifdef HELP
      for (i=0;i<10;i++)
    #else
      for (i=10;i>0;i--)
    #endif
      {
        cout << "HELP definiert\n";
      }
    }
    

    EDIT: Habe das Problem bereits selber gelöst 🙂



  • int main ()
    {
      int i=1;
    
      if (!i) //der präprozessor kann dies noch nicht auswerten...
      {
        #define HELP //definiert deshalb IMMER 'HELP'
      }
    
    #ifdef HELP //damit ist dies hier IMMER true
      for (i=0;i<10;i++) //und das hier wird immer gemacht
    #else //und in diesen else-Zweig wird damit niemals nen Präprozessor kommen ^^
      for (i=10;i>0;i--)
    #endif
      {
        cout << "HELP definiert\n"; //die ausgabe ist auch ein wenig falsch ^^
      }
    }
    

    also steht es nun _erst_ während der laufzeit fest oder bereits zur compilezeit?
    also was willst du damit wirklich bewirken? ^^
    wenn du das sagst, dann kann dir hier vermutlich fast jeder helfen - so gar ich ;o)

    bb


Anmelden zum Antworten