双精度和整数的求和和乘法不起作用
sum and multiply of doubles and ints does not work
我用 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..
为什么不能正常计算?
谢谢
因为您正在打印 m
,即 int
,"%lf"
说明符用于 double
。
而且你传递给 printf()
的参数也比格式说明符多,这意味着你没有启用编译器警告,你应该,特别是如果你是初学者。
改变这个
printf("%lf", m, sum);
至
printf("m = %d\nsum = %f\n", m, sum);
看看我的意思。
实际上您正在打印 m
-
的值
printf("%lf", m, sum);
你必须打印 -
printf("%lf",sum);
我用 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..
为什么不能正常计算?
谢谢
因为您正在打印 m
,即 int
,"%lf"
说明符用于 double
。
而且你传递给 printf()
的参数也比格式说明符多,这意味着你没有启用编译器警告,你应该,特别是如果你是初学者。
改变这个
printf("%lf", m, sum);
至
printf("m = %d\nsum = %f\n", m, sum);
看看我的意思。
实际上您正在打印 m
-
printf("%lf", m, sum);
你必须打印 -
printf("%lf",sum);