
elbrabo
(usa Slackware)
Enviado em 02/08/2006 - 13:40h
Galera ...
Tenho uma duvida qto a esse codigo ...
#include<stdio.h>
#define cent1 0.50
#define cent2 0.49
int main()
{
float valor=cent1; //valor se iguala a cent1
printf("TESTE1\n\nCent1: %1.2f\n\n",cent1); //exibe o valor de cent1
printf("Valor: %1.2f\n\n",valor); //exibe o valor de valor
if(valor==cent1) //se o valor for igual ...
printf("IGUAL"); //imprime IGUAL
else //se não ...
printf("DIFERENTE"); //imprime DIFERENTE
valor=cent2;
printf("\n\n\n\nTESTE2\n\nCent2: %1.2f\n\n",cent2);
printf("Valor: %1.2f\n\n",valor);
if(valor==cent2)
printf("IGUAL");
else
printf("DIFERENTE");
getchar();
}
A saida desse programa é:
TESTE1
Cent1: 0.50
Valor: 0.50
IGUAL
TESTE2
Cent2: 0.49
Valor: 0.49
DIFERENTE
Não entendo o porque do DIFERENTE no segundo teste uma vez q valor
recebe a constante CENT2. Alguem teve esse problema?
Sabem me responder o por que?
Grato.
Obs: O mesmo teste feito com DOUBLE no lugar de FLOAT gerou a saida
IGUAL nos dois testes.