Eu concluí uma introdução à programação usando Python e estou mais acostumado com Python do que C, então posso misturar os dois. C está me dando todos os tipos de erros. Tentei mudar as coisas, mas notar que parece funcionar; assim que descobrir a sintaxe do C, provavelmente irei reescrever este programa.

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

Erros:

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. 

Resposta

É uma chave mal colocada.

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

Você deseja colocar a instrução do entre chaves, mas mantenha a condição while de fora. Tenha cuidado com a capitalização. As funções diferenciam maiúsculas de minúsculas. Além disso, você não pode “usar a palavra” ou “, mas em vez disso, use || (o tubo duplo). (E para referência futura, && significa “e”).

Experimente!

Além disso, as notas da aula da semana 1: Construções de programação em C tem muitos exemplos de sintaxe para vários loops, condições, etc. Pode valer a pena manter à mão como uma referência enquanto você trabalha nisso.

Brenda.

Comentários

  • todos os bugs foram corrigidos, obrigado
  • @ zoot404, se a resposta foi útil, vote e também a marque como aceita. Isso ajuda os outros ao procurar suas próprias respostas. 🙂
  • @curiouskiwi (verificação de sanidade da minha parte) quando você diz, " inclua o do declaração entre parênteses, " você quer dizer colchetes {} em vez de parênteses ()?
  • Sim, obrigado. I editei minha resposta.

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *