我用 C 编写了我的第一个程序只是为了练习。但是,我不知道为什么它不起作用?以下代码片段中 socks * price;
的结果为零。我在这里错过了什么?
#include<stdio.h>
main()
{
int socks;
float price, total;
printf("How many socks >> ");
scanf(" %d", &socks);
printf("What is the price for each pair ?");
scanf(" %.3f", &price);
total = socks * price;
printf("\n\nTotal: %.3f", total);
return 0;
}
这是一个普通的乘法;我首先想知道用户支付了多少 socks
比方说 4
,以及单双的 price
比方说 每只
(这对 socks 来说很多,我知道,但这只是举例)。 sock
100.000
Total
是一个 float
数字,因此 4 * 100.000 =
应该给出 total
价格 = 400.000
但我得到的是 0
。
最佳答案
问题是 scanf 的错误使用。我们不在 scanf 中使用格式“%.3f”。相反,您可以在打印输出时使用它
printf("What is the price for each pair ?");
scanf("%f", &price);
total = socks * price;
printf("\n\nTotal: %.3f", total);
关于c - 为什么我的乘法运算返回零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20693332/