Befejeztem bevezetés a Python használatával történő programozáshoz, és én jobban szoktam a Pythont, majd a C-t, ezért lehet, hogy összekeverem a kettőt. C mindenféle hibát ad nekem. Próbáltam változtatni a dolgokon, de úgy tűnik, hogy a tudomásul vétel működik; amint rájövök C szintaxisára, valószínűleg át fogom írni ezt a programot.
#include <stdio.h> #include <cs50.h> int main(void) { int num; do { int num = getint(); while( int num < 0 or int num > 23 ); } }
Hibák:
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.
Válasz
Ez rosszul göndör zárójel.
do { int num = GetInt(); } while( int num < 0 || int num > 23 );
A do
utasítást göndör zárójelek közé szeretné csatolni, de a while állapotot kívül tartsa. Vigyázzon a nagybetűvel. A funkciók megkülönböztetik a kis- és nagybetűket. Ezenkívül nem használhatja a „t” vagy a „szót”, hanem a ||
(kettős cső) szót. (És a későbbi felhasználás érdekében &&
jelentése: “és”).
Próbálja ki!
Ezenkívül az 1. hét előadásjegyzetei: Programozás A C rengeteg példával rendelkezik a különféle ciklusok, feltételek stb. Szintaxisáról. Érdemes lehet referenciaként kéznél tartania, miközben ezen dolgozik.
do
utasítás zárójelben, " göndör zárójelekre gondol{}
, nem pedig zárójelekre()
?