求解释,为什么不是15

PRINTF(15.68)然后从PR(a)打印出来不应该是15吗?

C语言 没有你这种直接打印数字的写法

  • printf 函数原型 : int printf(const char *format, ...);
  • printf 调用格式:printf("<格式化字符串>", <参量表>);

该回答引用GPTᴼᴾᴱᴺᴬᴵ
不是的,因为PRINTF(15.68)输出的是一个实数值,不是整数。在C语言中,使用%d格式化符输出的是整数,使用%f格式化符输出的是实数(浮点数),因此,如果你想要打印出15.68这个实数,可以使用下面的语句:

printf("%.2f", 15.68);


其中,%.2f的意思是保留2位小数输出实数。执行这个语句后,程序将输出15.68。如果你想要把这个实数赋值给一个变量a,可以使用下面的语句:

double a = 15.68;


这样,a的值就是15.68了。如果你想要在程序中打印a的值,可以使用下面的语句:

printf("%.2f", a);


这样,程序将输出15.68。注意,在输出实数时,一定要使用%f格式化符,并指定想要保留的小数位数,否则程序会按默认格式输出实数,可能会有误差。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^