【发布时间】:2015-10-05 00:11:53
【问题描述】:
我目前正在学习 C 和类型转换,这表明如果我想将 int 转换为 float,我应该在变量前面加上 (float) 来执行此操作。
但是,当我不使用类型转换时,即使我混合了整数和浮点数,答案仍然是正确的。
有人可以解释为什么/何时我需要特别使用类型转换(float) 吗?
#include <stdio.h>
int main(void) {
int A, B, E;
float C, D;
A = 2;
B = 1;
C = 12.5;
D = C * A + B;
E = C * A + B;
printf("Total is %.1f\n", D);
printf("total is %d", E);
return 0;
}
【问题讨论】:
-
你的代码没问题。你的学习材料不是很好。除非没有其他选择,否则应避免强制转换。
-
MM,我正在使用“C 编程绝对初学者指南”,还有比这更好的书吗?谢谢
-
See this thread 一些建议
-
我没有具体的建议,该帖子中任何被赞成的东西都应该是好的
-
C 不使用术语“类型转换”。
(float)是强制转换运算符的一个示例。它指定显式类型转换。类型转换也可以在许多上下文中隐式完成。事实上,大多数转换应该是隐式的,任何使用强制转换运算符都应该被怀疑。
标签: c casting typecast-operator