双精度和整数的乘积和乘数不起作用

时间:2015-04-01 18:57:25

标签: c casting int double

我在C:

中编写了这段代码
 double x1 = 7.52, x2 = 7, x3 = 8;
 int m = 0;
 double sum = x1 + x2*m + x3*m*m;

 printf("%lf", m, sum);

但无论我改变了m的值,总和总是为0 ..

为什么不进行正常计算?

感谢

2 个答案:

答案 0 :(得分:3)

因为您正在打mint "%lf"说明符适用于double

你也传递了更多的参数给printf()而不是格式说明符,这意味着你没有启用编译器警告,你应该,特别是如果你是初学者。

更改此

printf("%lf", m, sum);

printf("m   = %d\nsum = %f\n", m, sum);

看看我的意思。

答案 1 :(得分:0)

实际上您正在打印m -

的值
 printf("%lf", m, sum);  

你必须打印 -

 printf("%lf",sum);