Olen suorittanut Johdatus ohjelmointiin Pythonilla ja olen enemmän tottunut Pythoniin kuin C: hen, joten voisin sekoittaa nämä kaksi. C antaa minulle kaikenlaisia virheitä. Yritin muuttaa asioita, mutta huomata näyttää toimivan; kun olen selvittänyt C: n syntaksin, kirjoitan todennäköisesti tämän ohjelman uudelleen.

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

Virheet:

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. 

Vastaa

Se on väärin asetettu kiharuus.

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

Haluat liittää do -lausekkeen kiharaisiin aaltosulkeisiin, mutta pidä kunto-tila ulkopuolella. Varo isoja kirjaimia. Toiminnot erottavat kirjainkoon. Et voi myöskään ”käyttää sanaa” tai ”vaan käyttää sen sijaan || (kaksoisputki). (Ja myöhempää tarvetta varten && tarkoittaa ”ja”).

Kokeile!

Lisäksi luentotiedot viikosta 1: Ohjelmoinnin rakenteet C : llä on paljon esimerkkejä syntaksista erilaisille silmukoille, olosuhteille jne. Saattaa olla syytä pitää kätevänä referenssinä työskennellessäsi tämän kanssa.

Brenda.

Kommentit

  • kaikki virheet on korjattu kiitos
  • @ zoot404, jos vastauksesta oli apua, äänestä ja merkitse se myös hyväksytyksi. Se auttaa muita kun etsit omia vastauksiaan. 🙂
  • @curiouskiwi (terveystarkastus minulta), kun sanot, " liitä do lauseke sulkeissa, " tarkoitatko kiharaisia aaltosulkeita {} sulkeiden sijasta ()?
  • Kyllä kiitos. I ve muokkain vastaustani.

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *