Я вижу разные результаты для двух программ, которые я ожидаю, чтобы получить тот же результат, то первый случай:Неожиданные результаты при использовании Printf
int money;
printf("Enter the price of the car: ");
scanf("%d", &money);
printf("\nResult: %d .\n", money+money*0.4);
второй случай:
int money;
printf("Enter the price of the car: ");
scanf("%d", &money);
money=money+money*0.4;
printf("\nResult: %d .\n", money);
return 0;
В первом в случае, если результат printf
равен 0
, но не во втором случае. Почему я вижу эти разные результаты?
Вы должны включить предупреждение, чтобы понять. В первом случае это 'формат«% d»рассчитывает ввести«Int», но аргумент имеет тип 2«double'' Во втором случае 'преобразование в„Int“от„двойной“может изменить свою value' , И я думаю, предупреждение очень хорошо объясняет. –