-7
这是两个代码哪些代码执行速度更快?
int d;
d=0;
d=a+b;
print d+c+e;
code 2:
print a+b+c+e;
我想C语言编程。 我在执行此代码时有些疑惑 哪些代码执行速度更快?并使用更少的内存?
这是两个代码哪些代码执行速度更快?
int d;
d=0;
d=a+b;
print d+c+e;
code 2:
print a+b+c+e;
我想C语言编程。 我在执行此代码时有些疑惑 哪些代码执行速度更快?并使用更少的内存?
鉴于你已经张贴,
例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);
如果您的编译器优化d
示例1它们是等价的,哪个更快更棘手。另一方面,如果你的编译器不能确定d=0
被丢弃(它可能不会),那么它就不能确定d
确实是const int d = a+b;
,并且这些例子将不等同于。实例2(稍微)更快。
最好的办法是看看生成的程序集,但是在速度和内存使用方面(很可能两者都使用寄存器和堆栈),它的可能性完全可以忽略不计。你的程序中几乎可以肯定有更大的问题需要担心! – Rup 2014-09-01 16:41:38
我觉得这个程序无法运行。 – BLUEPIXY 2014-09-01 16:42:22
什么是'abce' – TerryG 2014-09-01 17:05:17