Ir para conteúdo
Fórum Script Brasil
  • 0

Code::Blocks // erro Switch / Case


Igor Thalles

Pergunta

3 respostass a esta questão

Posts Recomendados

  • 0

Não é possível fazer isso.

Exemplo correto seria case 'a':(ou qualquer outra letra), um char não é um string. Si usar if conjuntamente com strcmp de esta forma: if ( strcmp(op, "arroz")==0 ) ...então sim. O switch somente compara chars e inteiros, para strings use if con strcomp como falei. ;)

Editado por vangodp
Link para o comentário
Compartilhar em outros sites

  • 0

Não é possível fazer isso.

Exemplo correto seria case 'a':(ou qualquer outra letra), um char não é um string. Si usar if conjuntamente com strcmp de esta forma: if ( strcmp(op, "arroz")==0 ) ...então sim. O switch somente compara chars e inteiros, para strings use if con strcomp como falei. ;)

 Obrigado.

Então que dizer que no case eu devo usar apenas um caractere? Entendi isso hehe.

O resto eu irei pesquisar. Estou iniciando ainda, falta muito pra aprender.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, Assim é! você já tentou fazer char ch = 'Alo'; ?? Si imprimir esse ch tal como printf("%c", ch), você vai perceber que que será imprimido o ultimo numero somente.
Um char ocupa um Byte da sua memória, e por isso ele somente guarda uma letra, um string é diferente, ele é um conjunto de chars(Bytes) que se encontram de forma consecutiva na memória, ou seja, esta um a continuação do outro e todos estariam juntos, porem um string se declara de deferente forma, se declara fazendo char palavra[tamanho], já o char ch tem muita diferença. Por isso seu case não vai funcionar como se fosse um string, pois um char só pode guardar uma letra apenas.
O switch é mais usado para comprovações simples, por exemplo quando você quer gerar um menu tipo... quer escolher essa opção escolha 1, quer outra opção escolha 2, ou pulse 0 para sair... Si for fazer comparações complexas melhor usar if. Falou? XD

Bay!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...