C语言初学者,浮点变量输出为;0.00“;算术之后。

C语言初学者,浮点变量输出为;0.00“;算术之后。,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

我是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", &usd);

    euro = (usd * conversion);
    printf("\n%.2f USD equals %.2f Euros.", &usd, &euro);


    getch();
    return 0;
}
#包括
main()
{
浮动美元=0.00;
浮动欧元=0.00;
常量浮点转换=0.75;
printf(“请输入要转换为欧元的美元金额:”;
scanf(“%f”和美元);
欧元=(美元*换算);
printf(“\n%.2f美元等于%.2f欧元。”、&USD、&euro);
getch();
返回0;
}

提前感谢

printf
行更改为:

printf("\n%.2f USD equals %.2f Euros.", usd, euro);

您正在传递的是
usd
euro
的地址,而不是值本身。

您不想在
printf()函数中的变量名前面加上“&”。这将返回变量的内存地址,而不是存储在变量中的值。尝试删除它们,然后查看是否获得所需的输出。

这仅适用于printf调用,他仍然需要scanf中的&。我看到这已得到回答,但您可以通过为编译器启用警告来防止将来发生这种情况。如果您使用的是gcc,请添加“-Wall”以启用所有警告。它会告诉您何时在printf和scanf字段中使用了错误的类型。VisualStudio和其他公司将拥有一个同等的平台。
printf("\n%.2f USD equals %.2f Euros.", usd, euro);