gpt4 book ai didi

c - si 的值应该是多少?

转载 作者:行者123 更新时间:2023-11-30 21:35:08 24 4
gpt4 key购买 nike

我正在尝试计算下面给定的 c 程序的输出,但无法弄清楚。

为什么 si = 0?

#include<stdio.h>

int main(void){

float p = 1000;
float r = 5;
float t = 2;

float si = p * r * t / 100;

printf("SI = %d", si);

return 0;

}

最佳答案

当您使用 %d 说明符时,您正在以浮点表示形式传递值,这会强制 printf 接受 int

当您将变量传递给像 printf 这样的变量函数时,没有“自动转换”,这些值将作为它们实际的数据类型传递到函数中(或在某些情况下升级为更大的兼容类型),因为 是弱类型语言。

如果您传递具有不兼容的内部表示的类型,您将得到垃圾输出。

改变

printf("SI = %d", si);

printf("SI = %f", si);

或者(如果你想获得表达式的整数值)

printf("SI = %d", (int)si);

关于c - si 的值应该是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45945838/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com