【发布时间】:2013-10-26 02:57:36
【问题描述】:
我会以非常简化的形式陈述我的问题,即:
如果我输入 C
void main(){
int a=3+2;
double b=7/2;
}
什么时候给 a 和 b 赋值 5 和 3.5 是在我编译代码时还是在运行代码时?
换句话说,当我按下编译时会发生什么?以及它与我按下运行时的情况有何不同,在分配值和进行计算方面,这与将我的代码编写为:
void main(){
int a=5;
double b=3.5;
}
我问这个是因为我听说过编译器优化,但这不是我真正的领域。
任何 cmets,评论将不胜感激。 谢谢。
【问题讨论】:
-
int main(),double b=7/2, b 是 3.0 而不是 3.5。 -
顺便说一句,7/2 是整数除法,所以 3,即使它后来转换为双精度数。您可能希望将其更改为 7/2.0
-
啊,我错过了,谢谢。现在我很感激使用 java。
-
@Anderson:记得在编译时总是带有警告on
标签: c++ c compilation compiler-optimization