gpt4 book ai didi

c - 在 C 中展开 For 循环

转载 作者:行者123 更新时间:2023-12-03 20:02:28 25 4
gpt4 key购买 nike

我试图将这个循环展开 2 倍。

for(i=0; i<100; i++){
x[i] = y[i] + z[i];
z[i] = y[i] + a[i];
z[i+1] = y[i] * a[i];
}
我把它展开到:
 for(i=0; i<100; i+=2){
x[i] = y[i] + z[i];
x[i+1] = y[i+1] + z[i+1];
z[i] = y[i] + a[i];
z[i+1] = y[i] * a[i];
}
我不确定如何展开 z[i] 的行,因为原始 for 循环已经有 z[i+1]。任何人都可以帮助我理解这一点吗?

最佳答案

我会说简单地添加 i+1 的行。但是您必须确保它们的顺序正确,因此:

 for(i=0; i<100; i+=2){
x[i] = y[i] + z[i];
z[i] = y[i] + a[i];
z[i+1] = y[i] * a[i];

// next iteration
if (i+1 < 100) {
x[i+1] = y[i+1] + z[i+1];
z[i+1] = y[i+1] + a[i+1];
z[i+2] = y[i+1] * a[i+1];
}
}
编辑
为了使其对所有上限(不仅是甚至)安全,您必须在循环中添加一个 if
正如 Adrian Mole 提到的,最好首先检查上限或方便地设置数组的大小

关于c - 在 C 中展开 For 循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65194425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com