Ukończyłem wprowadzenie do programowania w Pythonie i jestem bardziej przyzwyczajony do Pythona niż C, więc mogę pomieszać te dwa. C popełnia wszelkiego rodzaju błędy. Próbowałem coś zmienić, ale zauważanie wydaje się działać; jak tylko wymyślę składnię C, prawdopodobnie przepisam ten program.

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

Błędy:

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. 

Odpowiedź

To niewłaściwy nawias klamrowy.

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

Chcesz umieścić instrukcję do w nawiasach klamrowych, ale pozostaw warunek while na zewnątrz. Uważaj na wielkie litery. W funkcjach jest rozróżniana wielkość liter. Nie możesz też użyć słowa „lub”, ale zamiast tego użyj || (podwójnej kreski). (I na przyszłość, && oznacza „i”).

Spróbuj!

Notatki do wykładu z 1 tygodnia: Konstrukcje programistyczne w C zawiera wiele przykładów składni dla różnych pętli, warunków itp. Może warto mieć je pod ręką podczas pracy nad tym.

Brenda.

Komentarze

  • wszystkie błędy zostały naprawione dziękuję
  • @ zoot404, jeśli odpowiedź była pomocna, zagłosuj i oznacz ją jako zaakceptowaną. To pomaga innym szukając własnych odpowiedzi. 🙂
  • @curiouskiwi (sprawdzanie poczytalności z mojej strony), kiedy mówisz, " załącz do w nawiasach, " czy masz na myśli nawiasy klamrowe {} zamiast nawiasów ()?
  • Tak, dziękuję. zredagowałeś moją odpowiedź.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *