C Anfänger Die For-Schleife

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
eisdragon
Beiträge: 2
Registriert: Mi Feb 12, 2014 1:32 pm

C Anfänger Die For-Schleife

Beitrag von eisdragon » Mi Feb 12, 2014 4:17 pm

Hallo ich habe mal eine Frage zu der übung im C-Tutorial Die For-Schleife

ich habe mir die übung jetzt schon mehrmals durchgelesen und komm nicht da hinter wie ich es verstehen soll.
um auf den punkt zu kommen ist mein problem bei dem beispiel Quelltext, denn ich komme nicht da hinter wie ich in mir korrekt anzeigen lassen soll.

Code: Alles auswählen

#include <stdio.h>

int main(void)
{
  
  for( int wert = 1; wert <= 5; wert = wert + 1 )
  {
    printf( "Ich bin bei '%d'{n", wert )
  }
  
  return 0;
}
so das habe ich durch den Compiler durch laufen lassen und raus kam dann das

Code: Alles auswählen

C:\Users\Micha\Desktop\c\hworld>gcc 8hworld.c
8hworld.c: In function 'main':
8hworld.c:6:3: error: 'for' loop initial declarations are only allowed in C99 mo
de
8hworld.c:6:3: note: use option -std=c99 or -std=gnu99 to compile your code
8hworld.c:9:3: error: expected ';' before '}' token
ich habe es mir mehrere male angeschaut und komme nicht drauf was falsch ist

danke schon mal in voraus

Edit by cloidnerux: Code-Tags

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: C Anfänger Die For-Schleife

Beitrag von cloidnerux » Mi Feb 12, 2014 4:23 pm

Hi und Willkommen im Forum :D
ich habe es mir mehrere male angeschaut und komme nicht drauf was falsch ist
Der Fehler ist nicht kompliziert und ist verschiedenen C-Standards zu verdanken:

Code: Alles auswählen

for( int wert = 1; wert <= 5; wert = wert + 1 )
Diese Initialisierung ist erst ab C99 möglich, was dein Compiler auch anmerkt.
Du kannst jetzt entweder deinen Compiler mit dem Flag

Code: Alles auswählen

-std=c99
dazu auffordern mit dem C99 Standard zu compilieren, oder das "int wert" aus der for schleife entfernen:

Code: Alles auswählen

int wert;
for(wert = 1; wert <= 5; wert++)
Der Grund ist, dass früher, als Computer noch langsam waren, alle Variablen die man genutzt hat am Anfang einer jeden Funktion vor allem anderen Deklariert werden mussten, so auch die Zählervariablen in den for-schleifen.

Mit freundlichen Grüßen

cloidnerux
Redundanz macht wiederholen unnötig.
quod erat expectandum

PairOfOldShoes
Beiträge: 14
Registriert: Do Jan 23, 2014 11:12 am

Re: C Anfänger Die For-Schleife

Beitrag von PairOfOldShoes » Mi Feb 12, 2014 4:25 pm

Außerdem fehlt dir ein ";" nach dem printf-Befehl. ;)

eisdragon
Beiträge: 2
Registriert: Mi Feb 12, 2014 1:32 pm

Re: C Anfänger Die For-Schleife

Beitrag von eisdragon » Mi Feb 12, 2014 4:50 pm

danke für die schnelle antwort

und noch mals danke

nufan
Wiki-Moderator
Beiträge: 2558
Registriert: Sa Jul 05, 2008 3:21 pm

Re: C Anfänger Die For-Schleife

Beitrag von nufan » Mi Feb 12, 2014 4:51 pm

Hallo :)

Ich gebe zu das ist etwas verwirrend, aber gleich nach dem Beispiel steht auch:
Wiki hat geschrieben:Alte C-Compiler akzeptieren diese Syntax leider noch nicht. In dem Fall muss man die Variable vorher definieren.
PairOfOldShoes hat geschrieben:Außerdem fehlt dir ein ";" nach dem printf-Befehl. ;)
'{' statt '\' ist dir nicht aufgefallen? ;) Aber im Tutorial ist übrigens beides richtig.

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: C Anfänger Die For-Schleife

Beitrag von Xin » Do Feb 13, 2014 10:30 am

dani93 hat geschrieben:Ich gebe zu das ist etwas verwirrend, aber gleich nach dem Beispiel steht auch:
Wiki hat geschrieben:Alte C-Compiler akzeptieren diese Syntax leider noch nicht. In dem Fall muss man die Variable vorher definieren.
Ich wollte gerade ansetzen, es im Wiki zu verbessern, aber da war schon einer schneller. :-)

Ich habe den Hinweis für -std=c99 noch als Fussnote hinzugefügt.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

PairOfOldShoes
Beiträge: 14
Registriert: Do Jan 23, 2014 11:12 am

Re: C Anfänger Die For-Schleife

Beitrag von PairOfOldShoes » Do Feb 13, 2014 11:16 am

dani93 hat geschrieben:
PairOfOldShoes hat geschrieben:Außerdem fehlt dir ein ";" nach dem printf-Befehl. ;)
'{' statt '\' ist dir nicht aufgefallen? ;) Aber im Tutorial ist übrigens beides richtig.
*lol* nein, hab nur einen Schnell-Scan auf den Compilerfehler gemacht ;)

Antworten