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.

Komentáře

  • všechny chyby byly opraveny děkuji
  • @ zoot404, pokud byla odpověď užitečná, hlasujte prosím a označte ji jako přijatou. To pomáhá ostatním při hledání vlastních odpovědí. 🙂
  • @curiouskiwi (kontrola rozumu z mé strany), když řeknete, " přiložte do výrok v závorkách, " myslíte spíše na složené závorky {} než na závorky ()?
  • Ano, díky. I upravil jsem svou odpověď.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *