Schleifen?!



  • #include <stdio.h>
    #include <stdlib.h>
    void funcTest(int j);
    int j;
    int main()
    {
      printf("Geben sie an, wie oft die Schleife durchlaufen werden soll: ");
      scanf("%i", j);
      funcTest(j);
    }
    
    void funcTest(int k)
    {
      int k;
      k = 19;
      int i;
      i = 0;
      char ckey;
      printf("\ntest!\n");
      //j = 8;
      for (i = 1; i < k; i++)
      {
        printf("Durchlauf: %i\n", i);
        printf("%i\n %i", j, i);
        //j = (int) getchar();
      }
      printf("Erfolg!");
    }
    

    Was ist an diesem Code falsch?
    Erst soll gefragt werden, wie viel Durchläufe die Schleife haben soll.
    Dann macht die Schleife das, und soll jeden Durchlauf die Durchlaufnummer ausgebebn. Aber irgendetwas geht da nicht! Die Schleife wird gar nicht durchlaufen
    Was ist an dem obigen Sourcecode falsch?



  • Das lässt sich doch nichtmal kompilieren, oder? Du redefinierst in der Funktion k.



  • Der Erste Fehler denn Du machst ist:
    scanf("%i", j);

    Dies ist falsch und muß heißen:
    scanf("%i", &j);

    in der Funktion "void funkTest(int k)" wird k übergeben.
    Daraufhin definierst Du k nochmal mit: 'int k'
    Dies ist Verboten den die Definition wurde ja in "void funkTest(int k)" getan,
    und ist somit nicht mehr notwendig (verboten)!

    Außerdem:
    -Den Wert k willst Du doch übergeben! Dei Zeile: "k = 19;" ist dammit
    überflüssig und überschreibt immer den übergebenen wert.
    -Du schreibst:
    int i;
    i= 0;
    Dies kann man in einem Zug lösen: "int i= 0;"
    Dies ist jedoch auch nicht notwendig, da Du der Variable "i"
    hier "for (i = 1; i < k; i++)"
    bereits einen Wert zuschreibst und die Variable eh früher kein Wert braucht!



  • Kann man einfach so über "main()" schon Variablen definieren ?

    Ich dachte, dass das nur nach dem main Befehl geht, wenn die Variable für die Hauptfunktion benutzt wird.

    Kann auch sein, dass ich mich irre ! 🙂



  • cHillb3rT schrieb:

    Kann man einfach so über "main()" schon Variablen definieren ?

    Ich dachte, dass das nur nach dem main Befehl geht, wenn die Variable für die Hauptfunktion benutzt wird.

    Kann auch sein, dass ich mich irre ! 🙂

    Ja kann man, nennt sich dann globale Variable 😉


Anmelden zum Antworten