不知道是整形还是实型的时候是用%d还是%f
不知道是整形还是实型的时候是用%d还是%f
用%f,当输入浮点数时能保证数据精度不丢失,当然整数时也能准确无误表示。
假如用%d,遇到浮点数时,精度就会丢失。
int用%d
float用%f
一开始不知道是整形还是实型 前面定义的时候用什么
引用 皆我百晓生 小程序回复内容作答:
在不知道数据类型的情况下,可以使用通用格式说明符"%g"来打印数字,无论是整数还是浮点数。这个格式说明符将根据输入的值自动选择最合适的表示方式。例如:
int num1 = 10;
float num2 = 3.14;
printf("%g\n", num1); // 输出: 10
printf("%g\n", num2); // 输出: 3.14
请注意,这种方法可能会导致一些不一致,因为整数可能会以浮点数的形式显示,但它可以应对你一开始不知道数据类型的情况。如果后续确定了具体的数据类型,可以根据实际需要使用"%d"或"%f"等格式说明符来精确打印。
【相关推荐】
#include <stdio.h>
int main()
{
double a=1.0;
printf("%f\n",a/3);
return 0;
}
运行结果:
C有泛型选择编程, 但前提必须是支持C11
#include <stdio.h>
int main()
{
float f = 5.5F;
if (_Generic(f, int: 0, float: 1))
{
printf("%f\n", f);
}
else
{
printf("%d\n", f);
}
int i = 9;
if (_Generic(i, int: 0, float: 1))
{
printf("%f\n", i);
}
else
{
printf("%d\n", i);
}
return 0;
}