2 u012829428 u012829428 于 2017.01.04 14:18 提问

C语言两种生成线性数据数组哪种计算快

第一种
A[0]=a;
A[i]=A[i-1]+b;
第二种
A[i]=a+i*b;

3个回答

tang_cheng
tang_cheng   2017.01.04 14:36

当然是第二种快,第一种会生成大量的读写间接地址访问的操作。第二种的a,b是临时变量,优化的好的话,会直接用寄存器进行运算。

Tiger_Zhao
Tiger_Zhao   Rxr 2017.01.04 14:29

可以认为是一样的效率。

u010136832
u010136832   2017.01.04 14:39

从某种层面来讲,这两种方式对一个数组的成员的赋值从效率上市一样的,但是如果真的需要找出点不一样的话,还是第二种快,因为第一种取A[i-1]其实是
多了一个寻址的过程。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!