Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 哪种代码执行得更快?_C - Fatal编程技术网

C 哪种代码执行得更快?

C 哪种代码执行得更快?,c,C,这是两个代码 int d; d=0; d=a+b; print d+c+e; code 2: print a+b+c+e; 我正在尝试c编程。 我在执行此代码时有一些疑问 哪种代码执行得更快?使用更少的内存?根据您发布的内容 例1 例2 哪一个更快是很棘手的,如果您的编译器在示例1中进行了优化,那么它们是等价的。另一方面,如果您的编译器不能确定d=0被丢弃,并且它可能没有,那么它就不能确定d真的是const int d=a+b;示例不会与示例2的速度稍快相同。您最好的选择是查看生成的程序集,但

这是两个代码

int d;
d=0;
d=a+b;
print d+c+e;
code 2:
print a+b+c+e;
我正在尝试c编程。 我在执行此代码时有一些疑问
哪种代码执行得更快?使用更少的内存?

根据您发布的内容

例1

例2


哪一个更快是很棘手的,如果您的编译器在示例1中进行了优化,那么它们是等价的。另一方面,如果您的编译器不能确定d=0被丢弃,并且它可能没有,那么它就不能确定d真的是const int d=a+b;示例不会与示例2的速度稍快相同。

您最好的选择是查看生成的程序集,但从速度和内存使用情况来看,它可能完全可以忽略不计,可能两者都会使用寄存器和堆栈。在你的程序中,你几乎肯定有更大的问题要担心!我认为这个程序不能自己运行。即使它被修改成“真正的C”,以便在典型的操作系统上运行,I/O上的时间抖动,更不用说I/O时间本身,将超过一个微不足道的整数算术所花费的时间,不管它是如何编码或编译的。我可以告诉你哪段代码编译得最快。
int d;
d=0;
d=a+b;
/* print d+c+e;*/
printf("%i\n", d+c+e);
/* print a+b+c+e; */
printf("%i\n", a+b+c+e);