Prezados, Boa tarde,
Gostaria de entender porque esse algoritmo está contando todos os caracteres da string 'frase' em vez de apenas as vogais.
Não quero um outro código pronto, só quero entender isso porque está me intrigando.
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[]) {
char frase[100];
printf ("Digite uma frase: ");
gets(frase);
int caracteres;
caracteres = strlen (frase);
int vogais = 0;
int cont;
for (cont = 0; cont < caracteres; cont++){
if (frase[cont] == 'A' || 'E' ||'I'||'O'||'U'){
vogais++;
}
}
printf ("A frase possui %d vogais", vogais);
return 0;
}
@edit
percebi que se eu escrever assim da certo: if (frase[cont] == 'A' ||frase[cont] == 'E' ||frase[cont] == 'I'||frase[cont] == 'O'||frase[cont] == 'U'){
porque não posso escrever da primeira maneira?