Ho completato unintroduzione alla programmazione usando Python e sono più abituato a Python che a C, quindi potrei mescolare i due. C mi sta dando tutti i tipi di errori. Ho provato a cambiare le cose ma le annotazioni sembrano funzionare; una volta individuata la sintassi di C, probabilmente riscriverò questo programma.

#include <stdio.h> #include <cs50.h> int main(void) { int num; do { int num = getint(); while( int num < 0 or int num > 23 ); } } 

Errori:

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. 

Risposta

È “una parentesi graffa fuori posto.

do { int num = GetInt(); } while( int num < 0 || int num > 23 ); 

Si desidera racchiudere listruzione do tra parentesi graffe, ma mantenere la condizione while allesterno. Fai attenzione alle maiuscole. Le funzioni fanno distinzione tra maiuscole e minuscole. Inoltre, non puoi “usare la parola” o “ma invece utilizzare || (il doppio tubo). (E per riferimento futuro, && significa “e”).

Provalo!

Inoltre, gli Appunti della prima settimana: Costrutti di programmazione in C ha molti esempi di sintassi per vari cicli, condizioni, ecc. Potrebbe valere la pena tenerlo a portata di mano come riferimento mentre ci lavori.

Brenda.

Commenti

  • tutti i bug sono stati corretti grazie
  • @ zoot404, se la risposta è stata utile, per favore votala e contrassegnala come accettata. Questo aiuta gli altri quando cercano le proprie risposte. 🙂
  • @curiouskiwi (controllo di integrità da parte mia) quando dici " racchiudi il do dichiarazione tra parentesi, " vuoi dire parentesi graffe {} anziché parentesi ()?
  • Sì grazie. I ho modificato la mia risposta.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *