Jeg afsluttede en introduktion til programmering ved hjælp af Python, og jeg er mere vant til Python end C, så jeg kan blande de to sammen. C giver mig alle mulige fejl. Jeg prøvede at ændre ting, men det ser ud til at virke; når jeg først har fundet ud af Cs syntaks, vil jeg sandsynligvis omskrive dette program.
#include <stdio.h> #include <cs50.h> int main(void) { int num; do { int num = getint(); while( int num < 0 or int num > 23 ); } }
Fejl:
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.
Svar
Det er en forkert placeret krøllet bøjle.
do { int num = GetInt(); } while( int num < 0 || int num > 23 );
Du ønsker at omslutte do
udsagnet i krøllede seler, men hold tilstanden udenfor. Vær forsigtig med store bogstaver. Funktioner er store og små bogstaver. Du kan også “ikke bruge ordet” eller “men i stedet bruge ||
(dobbeltrøret). (Og til fremtidig reference &&
betyder “og”).
Prøv det!
Også forelæsningsnotater fra uge 1: Programmering konstruerer i C har mange eksempler på syntaks til forskellige sløjfer, betingelser osv. Det kan være værd at holde sig praktisk som reference, mens du arbejder på dette.
Brenda.
do
sætning i parentes, " mener du krøllede parenteser{}
snarere end parenteser()
?