seguinte, estou tendo problemas com um programa em linguagem c,
basicamente, quero fazer uma comparação entre uma variável (char) e um determinado valor ( uma letra)
eu tentei assim ” if (a == v) { …”
onde “a” é a variável e “v”, o valor necessário para rodar a seqüencia de instruções,porém ele fica dando erro, alguém ai sabe como fazer essa comparação?
Olha não sei se vai ajudar
em C# oque eu acho q vc quer é + ou menos assim
__________________________________________________________________________________
TipoVariável NomeVariável;
NomeVariável = a;
if (CONDIÇÃO = ALGUMCAMPO=NomeVariável);
(
EVENTOS E REAÇÕES
)
// Se caso “ALGUMCAMPO” não for = a NomeVariável
else
(
EVENTOS E REAÇÕES
)
O cara falou errado, mesmo em C# comparações são feitas com “==”, ATRIBUIÇÕES são feitas com um igual “=”.
Se “a” é a sua variável e “v” é um caracter e você faz (a == v) concorda que para o compilador não existe nenhum diferença entre uma variável e um caracter? Não tem como ele saber que a é uma variável e v é um caracter, imagine o seguinte:
char c;
c = getch(); //Aqui o usuário digita o caracter “f”
if (c == c)
Está vendo o problema, o que você está comparando no if é se a variável c é igual a ela mesma, e não se a variável c é igual ao caracter c.
Resposta Objetiva: Para representar caracteres na linguagem C você tem que colcoar o caracter entre aspas simples:
if( a == ‘v’) { …
isso vai compara a variável a com o caracter v.
if( ‘a’ == v) { …
Essa outra faz o contrário, compara o caracter a com uma variável v.
Lembre-se que todas as variáveis utilizadas na linguagem C devem ser previamente declaradas.
Por que não tenta comparar coisas simples se acha que é comparação o problema?
Faça:
if(1 == 1)
printf(“%c”, 7);
Lembre-se que no fim characteres também não passam de valores numéricos. Assegure-se de que está tentando comparar realmente apenas uma letra. Vou dar um exemplo completo:
#include
int main(void)
{
char a = ‘a’;
if(a == ‘a’)
putc(7, stdout);
return 0;
}
Aqui comparamos se a == ‘a’ e, caso verdadeiro, apitamos.
PS: Note que comparar strings é outra coisa.