这是两个代码
int d;
d=0;
d=a+b;
print d+c+e;
code 2:
print a+b+c+e;
我正在尝试编程。 我对执行此代码有些疑惑 哪个代码执行得更快?并使用更少的内存?
答案 0 :(得分:1)
根据您发布的内容,
示例1
int d; d=0; d=a+b; /* print d+c+e;*/ printf("%i\n", d+c+e);
示例2
/* print a+b+c+e; */ printf("%i\n", a+b+c+e);
哪个更快是很棘手的,如果您的编译器在示例1 中优化d
它们是等效的。另一方面,如果您的编译器无法确定d=0
被丢弃(并且可能没有),那么它就无法确定d
是否真的const int d = a+b;
和这些示例与示例2 (略微)更快相等。