S
PongoPongo schrieb:
Ist die Iterationsvariable kleiner als die Anzahl der Kommandozeilenargumente minus 1 so wird ein Leerzeichen zwischen die ausgegebenen Argumente gesetzt, ansonsten eben kein Leerzeichen?
Wenn ich dich richtig verstanden habe, dann stimmt das
h
Vielleicht noch ein zwei Worte zu deinem gepostetem Code:
Das kleine Programm gibt alle Argumente aus, welchem ihm selber übergeben werden. Zwischen den Argumenten fügt es noch ein Leerzeichen ein und nur wenn das letzte Argument gedruckt wird, fügt es keine Leerzeichen mehr ein.
Diesen Code könnte man auch so schreiben und er würde das gleiche machen:
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for(i = 0; i < argc; i++)
{
printf("%s", argv[i]);
if(i < (argc - 1))
{
printf(" ");
}
}
printf("\n");
return(0);
}
Hier noch ein Beispiel zum ominösen ?-Operator:
Das da:
i = (i <= 10 ? (i + 1) : 0);
ist das selbe wie das da:
if(i <= 10)
{
i = (i + 1);
}
else
{
i = 0;
}
Ich habe jetzt dieses Beispiel gemacht, damit du das auch mal so ganz ohne return oder so siehst und nicht weils ich das gefühl habe meines sei hilfreicher (oder sonst wie besser) als das Beispiel von Bommel. Hier siehst du nämmlich seher schön, wie diesr Operator funktioniert (so hoffe ich zumindest).
mfg
Sputnik