Ich habe abgeschlossen Eine Einführung in die Programmierung mit Python und ich bin eher an Python als an C gewöhnt, also könnte ich die beiden verwechseln. C gibt mir alle möglichen Fehler. Ich habe versucht, Dinge zu ändern, aber es scheint zu funktionieren. Sobald ich die Syntax von C herausgefunden habe, werde ich dieses Programm wahrscheinlich neu schreiben.

#include <stdio.h> #include <cs50.h> int main(void) { int num; do { int num = getint(); while( int num < 0 or int num > 23 ); } } 

Fehler:

mario.c:13:9: error: expected expression while( int num < 0 or int num > 23 ); ^ mario.c:16:1: error: expected "while" in do/while loop } ^ mario.c:9:2: note: to match this "do" do ^ mario.c:16:2: error: expected "}" } ^ mario.c:6:1: note: to match this "{" { ^ 3 errors generated. jharvard@appliance (~/Dropbox): make mario clang -ggdb3 -O0 -std=c99 -Wall -Werror mario.c -lcs50 -lm -o mario mario.c:13:9: error: expected expression while( int num < 0 or int num > 23 ); ^ mario.c:16:1: error: expected "while" in do/while loop } ^ mario.c:9:2: note: to match this "do" do ^ mario.c:18:1: error: expected "}" ^ mario.c:6:1: note: to match this "{" { ^ 3 errors generated. 

Antwort

Es ist eine falsch platzierte geschweifte Klammer.

do { int num = GetInt(); } while( int num < 0 || int num > 23 ); 

Sie möchten die Anweisung do in geschweifte Klammern setzen, aber die while-Bedingung außerhalb lassen. Achten Sie auf die Großschreibung. Funktionen unterscheiden zwischen Groß- und Kleinschreibung. Sie können auch „nicht das Wort“ oder „verwenden, sondern stattdessen || (die Doppelpipe) verwenden. (Und zum späteren Nachschlagen && bedeutet „und“).

Probieren Sie es aus!

Auch die Vorlesungsunterlagen aus Woche 1: Programmierkonstrukte in C enthält viele Syntaxbeispiele für verschiedene Schleifen, Bedingungen usw. Es könnte sich lohnen, sie als Referenz zur Hand zu haben, während Sie daran arbeiten.

Brenda.

Kommentare

  • Alle Fehler wurden behoben. Danke.
  • @ zoot404. Wenn die Antwort hilfreich war, stimmen Sie bitte ab und markieren Sie sie als akzeptiert. Das hilft anderen wenn Sie nach ihren eigenen Antworten suchen. 🙂
  • @curiouskiwi (Überprüfung der geistigen Gesundheit meinerseits), wenn Sie sagen, " schließen Sie die Anweisung in Klammern, " meinen Sie geschweifte Klammern {} anstelle von Klammern ()?
  • Ja, danke. I habe meine Antwort bearbeitet.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.