Geht dieses Programmschnipsel so?
-
int wert1, wert2, wert3, wert4, wert5, wert6, wert7, wert8, wert9, wert10 for(i=0; i<=10; i++) { wert[i] = i; }
Kann dieser Zuweisung funktionieren? wenn Nein, wie dann?
-
Nein das ist Unsinn.
Offensichtlich hast du doch schon einmal was von Arrays gehört. Denk mal scharf nach, wie das damit wohl richtig gehen könnte.
-
for(i=0; i<=10; i++) { (&wert1)[i] = i; }
-
Das über mir ist, wie der Name schon sagt, Unsinn.
Zum einen ist i nicht deklariert, zum anderen solltest du dich mal mit Arrays befassen..z.B. hier: http://de.wikibooks.org/wiki/C-Programmierung:_Arrays
-
Auch sind es nur 10 Variablen und du machst 11 Durchläufe in der Schleife.
-
unsinn schrieb:
for(i=0; i<=10; i++) { (&wert1)[i] = i; }
*lach*
Kannst noch ein Klammernpaar sparen.
for(i=0; i<=10; i++) { i[&wert1] = i; }
-
volkard schrieb:
unsinn schrieb:
for(i=0; i<=10; i++) { (&wert1)[i] = i; }
*lach*
Kannst noch ein Klammernpaar sparen.
for(i=0; i<=10; i++) { i[&wert1] = i; }
Was ist, wenn der Stack in die andere Richtung wächst?
-
Nathan schrieb:
volkard schrieb:
unsinn schrieb:
for(i=0; i<=10; i++) { (&wert1)[i] = i; }
*lach*
Kannst noch ein Klammernpaar sparen.
for(i=0; i<=10; i++) { i[&wert1] = i; }
Was ist, wenn der Stack in die andere Richtung wächst?
int wert1, wert2, wert3, wert4, wert5, wert6, wert7, wert8, wert9, wert10; bool reversed = (&wert1 > &wert2); for(i=0; i<=10; i++) { ((reversed * -10) + i)[&wert1] = i; }
-
Wenn man die ints noch volatile macht, dann ist das sogar halbwegs portabel.
-
Wir brauchen dringend ein head- meets- table- icon.
-
Und ein "Nicht nachmachen!"
-
jetzt mal ohne Joke, geht sowas? kann man, wenn man seine Variablennamen irgendwo mit Zahlen versehen hat, dann von einer zur anderen springen, sozusagen eine Liste von Variablen abarbeiten?
-
nähkästchen schrieb:
jetzt mal ohne Joke, geht sowas? kann man, wenn man seine Variablennamen irgendwo mit Zahlen versehen hat, dann von einer zur anderen springen, sozusagen eine Liste von Variablen abarbeiten?
Nein, geht nicht.
Aber kannst sie direkt "mit Zahlen" erzeugen, mir hat das bisher immer gereicht.
int wert[10];//zehn stück, von wert[0] bis wert[9] for(i=0; i<10; i++) { wert[i] = i; }
-
bei char arrays dann schlecht, wäre meine nächste Frage gewesen.