• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

migg

case com string

10 mensagens neste tópico

É possível utilizar o case com strings por exemplo:

switch(variavel)
{
case  "portugal":

break;
}

Resolvi o assunto assim

if(strcmp(pal,pal1) == 0) {

}

Mas gostaria de saber se é possivel e como fazer o case funcionar com strings porque o código ficava mais bem organizado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em C penso que case com strings não é possivel.

Uma alternativa é criar um enumerado, e fazer o case desse enumerado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que é possível, basta fazeres assim

switch(variavel)
{
case  'portugal':

break;
} 

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em C isso não é possível.

A variável do case só pode utilizar valores inteiros: int, short, char, e afins.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se estás a tentar usar é um case suponho que exista um número limitado de valores válidos. Nesse caso a melhor solução é a do enumerado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Se estás a tentar usar é um case suponho que exista um número limitado de valores válidos.

Não necessariamente. Caso contrário não existiria o default:

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não necessariamente. Caso contrário não existiria o default:

Apesar disso, a solução de criar um tipo enumerado também deve permitir passar a usar o switch (embora seja capaz de já não valer a pena).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora