C-Programmierung -> Zahlen verdoppeln mit while

6 Antworten

i+2 ist auch falsch. Da sagst du dem Programm einfach "berechne i+2", aber du sagst dem Programm nicht was es mit dem Wert machen soll, deswegen ändert sich nichts. Was du brauchst ist i+=2. Das heißt "i + 2 und schreibe in i".


GConscience 
Fragesteller
 20.04.2012, 16:35

viele dank, war sehr hilfreich :)

0

Ein Stern ist ein Zeiger auf eine Adresse und keine Variabel. Ein Doppelstern ist ein Zeiger, der auf eine Liste von Zeigern zeigt. Wobei die Sterne immer VOR der Variabeln stehen.

Also einfach: i++;

Oder auch { printf("Zahl %i\n", i++};

wichtig ist, folgendes : stehen die Operanden VOR der Variabel wird zu erst die Operation ausgeführt. Steht die Varibale, wird erst der Wert übernommen und erst danach wird die Operation ausgeführt.

Wenn du den Wert um 2 erhöhen willst, dann musst du i = i + 2; oder i += 2 eingeben.

Wie schon viele andere hier kann ich dir auch nur sagen, dass keine Zuweisung besteht korrekt wäre also "i = i + 2" oder "i += 2"

Was meinst du denn aber mit "Zahlen verdoppeln?

Du musst i = i+2 reinschreiben. Bei C geht glaub ich auch i+=2


GConscience 
Fragesteller
 20.04.2012, 16:25

Okay hat mir wirklich sehr geholfen :) kannst du noch erklären warum ebenso i+=2 bzw i*=2 funktioniert?

0
daCypher  20.04.2012, 16:29
@GConscience

Da sollten eigentlich verschiedene Ergebnisse rauskommen.

i+=2 heißt "nimm i, addiere 2 und schreib das Ergebnis wieder nach i".

i*=2 müsste heißen "nimm i, multipliziere es mit 2 und schreib das Ergebnis wieder nach i".

Ich weiß es aber ehrlichgesagt nicht genau. Hab nur testweise mal ein bisschen in C rumgewerkelt. Das ist schon ein paar Jahre her.

0

i+2 rechnet nur und weisst es nicht wieder der Variable i zu. Richtig wäre:

i = i + 2;