Estoy tratando de aprender C y he creado el siguiente pequeño programa.Programming Data Types
#include "stdafx.h"
void main()
{
double height = 0;
double weight = 0;
double bmi = 0;
printf("Please enter your height in metres\n");
scanf_s("%f", &height);
printf("\nPlease enter your weight in kilograms\n");
scanf_s("%f", &weight);
bmi = weight/(height * height);
printf("\nYour Body Mass Index stands at %f\n", bmi);
printf("\n\n");
printf("Thank you for using this small program. Press any key to exit");
getchar();
getchar();
}
El programa compila perfectamente, pero la respuesta que devuelve el programa no tiene sentido. Si ingreso 1.8 para la altura y 80 para el peso, la bmi es como 1. # NF00 que no tiene sentido.
¿Qué estoy haciendo mal?
¿No es '% lf' en dobles? En cualquier caso, [no debe usar 'void main'.] (Http://stroustrup.com/bs_faq2.html#void-main) – chris
@chris es bueno saberlo. Siempre me enseñaron que 'void main' era para C, y' int main' para C++. Me pregunto de dónde viene el hábito de los nuevos programadores C/C++ para hacer esto. – Darthfett
@Darthfett, creo que hay algunos libros que usan 'void main'. Me imagino que es de donde se está transmitiendo todo esto. – chris