循环优化 — 计算机选择题
题目
某程序循环体为:for (i=0; i<n; i++) { s = s + c*d; u = c*d + i; },其中 c、d 在整个循环执行期间值保持不变,n=200,循环体每次执行时对 c*d 求值两次。若编译器进行代码外提优化,将循环不变运算 c*d 提取到循环入口前一次性计算(循环内改用临时变量引用),则优化后整个循环中对 c*d 的求值次数由原来的多少次减少为多少次?
A. 由400次减少为1次
B. 由200次减少为0次
C. 由400次减少为200次
D. 由200次减少为1次