mikrocontroller.net

Forum: PC-Programmierung Fehler in Initialisierungsbeispiel MIT OCW C-Kurs


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
Autor: Alexander S. (alesi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, normalerweise sind die Online-Kurse unter MIT OCW ganz solide.
Auf Seite 14 in 
https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-087-practical-programming-in-c-january-iap-2010/lecture-notes/MIT6_087IAP10_lec02.pdf 
steht jedoch als Beispiel einer Deklaration:
char x=y=Z;  / multiple initializations /
was meiner Meinung nach und auch nach gcc
~/Test$ gcc -Wall -pedantic -ansi -O0 -g test_init.c -o test_init
test_init.c: In function main:
test_init.c:6:11: error: y undeclared (first use in this function)
  char x = y = 'Z';
           ^
so nicht geht. Gehen würde
  char x = 'Z', y = 'Z';
oder
  char y = 'Z';
  char x = y;
Kennt Ihr eine Variante von C, wo der Code aus dem Beispiel erlaubt ist?
Im Kurs wird ANSI C (C89) / ISO C (C90) verwendet.

Autor: Yalu X. (yalu) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das hängt vom Kontext ab. Folgendes geht:
int main(void) {
  int x;
  int y = x = 3;
}

Nur sind das dann nicht "multiple initializations", sondern "one
assignment and one initialization".

Autor: Alexander S. (alesi)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ok. Wenn y vorher deklariert ist, geht das natürlich.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.