C: Wie kann ich meine Eingaben umgekehrt ausgeben?

4 Antworten

Für den umgekehrten Fall sollte die Schleife bei 10 starten, prüfen wann i dem Wert 1 entspricht und je Iterationsschritt i (um 1) dekrementieren.

Du deklarierst i übrigens einmal zu viel. Entferne entweder die Deklaration vor der Schleife oder die im Schleifenkopf.

Also, weiß nicht, was du mit "argc" bezweckst.
Das erste "int i=1;" brauchst du nicht, du definierst die Variable ja beim "for".

Du könntest ein Problem mit dem Array bekommen, du hast 4 Elemente, läßt aber mit i<=10 zu, daß er aus argv[i] mehr als 4 Elemente ausliest, die ggf. nicht vorhanden sind.

Du kannst das For auch anders herum laufen lassen:
for (int i=4; i>0; i--)

Kann mich auch irren, C ist nicht meine Sprache, aber prinzipiell.

Woher ich das weiß:Hobby

Lass doch einfach mal deine Schleife rückwärts zählen.

i-- um i um 1 zu dekrementieren.

Die Schleife muss dann natürlich mit den höchsten Wert anfangen.

Gruß

Mein Vorschlag:

int i;

printf("vorwaerts\n");
for(i = 1; i < argc; i++) {
   printf(" %s\n", argv[i]);
}
printf("\n");

printf("rueckwaerts\n");
for(i = argc-1; i > 0; i--) {
   printf(" %s\n", argv[i]);
}
printf("\n");