我有一个程序,我需要在浮点数的情况下打印FLOAT或在常规数字的情况下打印INTEGER.
示例伪代码
float num = 1.5;
if (num mod sizeof(int)==0)
printf ("INTEGER");
else
printf("FLOAT");
Run Code Online (Sandbox Code Playgroud)
例如:
这样的事情会起作用吗?
所有浮点类型都具有相同的大小,因此您的方法将无法正常工作.您可以使用查看浮点数是否为整数ceilf
float num = 1.5;
if (ceilf(num) == num)
printf ("INTEGER");
else
printf("FLOAT");
Run Code Online (Sandbox Code Playgroud)