#c
#c
Вопрос:
Я новичок в C, и у меня возникли проблемы с базовой программой, которая конвертирует доллары в евро. Когда я печатаю конечный результат, сумма в долларах и евро равна «0.00». Вот мой код:
#include<stdio.h>
main()
{
float usd = 0.00;
float euro = 0.00;
const float conversion = 0.75;
printf("Please enter the amount of USD you want to convert to Euros: ");
scanf("%f", amp;usd);
euro = (usd * conversion);
printf("n%.2f USD equals %.2f Euros.", amp;usd, amp;euro);
getch();
return 0;
}
Заранее спасибо
Комментарии:
1. Я вижу, что на это дан ответ, но вы можете предотвратить это в будущем, включив предупреждения для вашего компилятора. Если вы используете gcc, добавьте «-Wall», чтобы включить все предупреждения. Он сообщит вам, когда вы используете неправильный тип в полях printf и scanf. Visual Studio и другие будут иметь эквивалент.
Ответ №1:
Измените printf
строку на эту:
printf("n%.2f USD equals %.2f Euros.", usd, euro);
Вы передаете адреса usd
и euro
, а не сами значения.
Ответ №2:
printf("n%.2f USD equals %.2f Euros.", usd, euro);
Ответ №3:
Вы не хотите ставить «amp;» перед именами ваших переменных в вашей printf()
функции. Это вернет адрес переменной в памяти, а не значение, сохраненное в переменной. Попробуйте удалить их и посмотреть, получите ли вы результат, который вы ищете.
Комментарии:
1. это верно только для вызова printf , ему все еще нужен amp; в scanf .