Jeg fullførte en introduksjon til programmering med Python, og jeg er mer vant til Python enn C, så jeg kan blande de to sammen. C gir meg alle slags feil. Jeg prøvde å endre ting, men det syntes å virke å merke seg; når jeg først har funnet ut Cs syntaks, skal jeg sannsynligvis skrive om dette programmet.
#include <stdio.h> #include <cs50.h> int main(void) { int num; do { int num = getint(); while( int num < 0 or int num > 23 ); } }
Feil:
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 feilplassert krøllestag.
do { int num = GetInt(); } while( int num < 0 || int num > 23 );
Du vil legge inn do
i krøllete bukseseler, men hold mens tilstanden er utenfor. Vær forsiktig med store bokstaver. Funksjoner er store og små bokstaver. Du kan også «ikke bruke ordet» eller «men i stedet bruke ||
(dobbeltrøret). (Og for fremtidig referanse, &&
betyr «og»).
Prøv det!
Også forelesningsnotatene fra uke 1: Programmering konstruerer i C har mange eksempler på syntaks for forskjellige sløyfer, forhold osv. Det kan være verdt å være praktisk som referanse mens du jobber med dette.
Brenda.
do
uttalelse i parentes, " mener du krøllete bukseseler{}
i stedet for parenteser()
?