Jede 4. Zahl mittels einer while Schleife in C ausgeben ohne if?

Bild - (programmieren, Linux, EDV)

3 Antworten

Einfach: "start + 4;"

Dann wird dein "Counter" direkt um 4 erhöht und diese Zahl wird dann ausgegeben. 

john1611 
Fragesteller
 24.10.2016, 17:50

Wo genau muss ich das einfügen? Damit mein printf die Zahlen 4 8 12 16 usw. ausgibt

0
FahrradLecker  24.10.2016, 17:52
@john1611

int n = 50;

int start = 0;

while (start <=n){

printf("%d\n", start");

start + 4;

}

0
john1611 
Fragesteller
 24.10.2016, 17:57
@FahrradLecker

Danke für deine schnelle Antwort. Allerdings da ich das Programm mit -Wall und -Werror compilieren muss, bekomme ich so einen Fehler.

0
ceevee  24.10.2016, 18:02
@john1611
start += 4;

bzw.

start = start + 4;

Da ist im Quellcode vom leckeren Fahrrad ein kleiner Fehler drin. Mit "start + 4" änderst du die Variable "start" nicht, weil du das Ergebnis nirgendwo hinschreibst.

Es könnte sein, dass das der Fehler ist, den Wall / Werror bemängelt, ansonsten kopier die Fehlermeldung mal hier rein. Sein Code oben wäre eine Endlosschleife.

3
john1611 
Fragesteller
 24.10.2016, 18:10
@ceevee

Danke an alle so hat es funktioniert

0
ralphdieter  24.10.2016, 19:07
@ralphdieter

Ist natürlich syntaktisch falsch! Aber irgendwas mit ganz vielen '+' hintereinander habe ich mal irgendwo gesehen (vermutlich als abschreckendes Beispiel). Ich komm' g'rad nur nicht drauf :-(

0

ohne ein Compare in der unteren Ebene kommt man da nicht aus, auch wenn das if in while oder for etwas versteckt ist.

Woher ich das weiß:Berufserfahrung – openSuSE seit 1995

for(int f = 1; f<n; f+=4) {

//Code für die Zahlenausgabe//

}

So ungefähr :)

ceevee  24.10.2016, 18:00

Das ist bei dir 'ne while-Schleife?

0
AdroSlice  24.10.2016, 18:01
@ceevee

Nein, das ist die sogenannte "for-Schleife", eine sehr viel elegantere Lösung :)

0
ceevee  24.10.2016, 18:07
@AdroSlice

Hmm.. die Frage wäre jetzt bloß, ob der Fragesteller von der Schule / Uni eine Vorgabe hat, dass er while nehmen muss. Ansonsten wäre deine Lösung natürlich am elegantesten. 

1
AdroSlice  24.10.2016, 18:12
@ceevee

Die for-Schleife ist fast dasselbe wie eine while-schleife - der erste Teil im Kopf ist der Initialisationsteil, in dem initialisiert man meistens den Iterator, in dem Fall f, was man auch einfach vor die while-Schleife schreiben kann. Der zweite Teil ist genau das was auch im while-Kopf steht, eine Bedingung unter der die Schleife weiterläuft. Der dritte Teil ist eine Anweisung die jeden Durchlauf wiederholt wird, das bedeutet dass du das auch einfach in den Schleifenkörper schreiben kannst. Ich hoffe ich konnte helfen!

0
FahrradLecker  24.10.2016, 18:14
@AdroSlice

Das stimmt alles, aber wenn die Uni ne while Schleife haben will und er ne for schleife benutzt gibt es für die Aufgabe 0 Punkte^^

0