Dokončil jsem úvod do programování pomocí Pythonu a já jsem více zvyklý na Python než na C, takže bych je mohl smíchat. C mi dává nejrůznější chyby. Zkusil jsem změnit věci, ale zdá se, že to funguje; jakmile zjistím C syntaxi, pravděpodobně přepíšu tento program.
#include <stdio.h> #include <cs50.h> int main(void) { int num; do { int num = getint(); while( int num < 0 or int num > 23 ); } }
Chyby:
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.
Odpověď
Je to špatně umístěná složená závorka.
do { int num = GetInt(); } while( int num < 0 || int num > 23 );
Chcete uzavřít příkaz do
do složených závorek, ale podmínku while ponechat mimo. Buďte opatrní při psaní velkých písmen. Funkce rozlišují velká a malá písmena. Také nemůžete „použít slovo“ nebo „, ale místo toho použít ||
(dvojitá trubka). (A pro budoucí použití &&
znamená „a“).
Vyzkoušejte to!
Přednášky z 1. týdne: Programovací konstrukce v C obsahuje mnoho příkladů syntaxe pro různé smyčky, podmínky atd. Při práci na tom se může hodit jako reference.
Brenda.
do
výrok v závorkách, " myslíte spíše na složené závorky{}
než na závorky()
?