将浮点数 23.54 和 33.22 与整数值相加,如 23+33

Add floating point numbers 23.54 and 33.22 with just integral value like 23+33

有两个浮点数 23.54 和 33.22 必须编写程序将它们与左侧整数值相加,例如 23+33=56。

这是我试过的代码:

int sum;
sum=(int)num1+(int)num2;
printf("%d",sum);

printf("%d",(int)num1+(int)num2);

num1 的数据类型是 float,我正在使用 (int) 类型转换为整数类型。
由于我们对数据类型进行类型转换,这称为显式类型转换!

#include <stdio.h>

int main(){



float sum;
float num1;  
float num2;
printf("first number:");
scanf("%f",&num1);
printf("second number:");
scanf("%f",&num2);
sum=(int)num1+int(num2);
printf("sum is %.2f",sum);
}

另一种选择是定义一个明确命名所用类型的函数,例如:

static int int_sum(int a, int b) {
  return a + b;
}

可用作:

#include <stdio.h>
int main()
{
    float a, b;
    if (scanf("%f%f", &a, &b) == 2) {
        printf("%d\n", int_sum(a, b));
    }
    return 0;
}

请注意,最好在使用它们之前检查 scanf 是否成功解析了它应该解析的值。如果用户未提供有效输入,您可能想要 return 其他内容,或者打印一条错误消息。