gpt4 book ai didi

c++ - 用于指令的 If 语句

转载 作者:行者123 更新时间:2023-11-27 22:42:07 25 4
gpt4 key购买 nike

已编辑:n 是一个常数。它不会在循环内改变。

给定两种情况:

1)

if (n % 2 == 0)
for(i = 1; i <= 10; i++)
...
else
for(i = 1; i <= 9; i++)
...

2)

for(i = 1; i <= 9 + (n % 2 == 0); i++)
...

这两种情况在时间上有区别吗? (案例 2)验证每一步 n 是否为偶数(或只是一个附加条件)应该让程序运行得慢一些,我说得对吗?

最佳答案

Verifying every step if n is an even number (or just an additional condition) should run the program a bit slower, am I correct?

在一般情况下是的,在这种特殊情况下,这取决于您是否可以在循环内更改 n 以及 n 是什么,即编译器能否检测到 n 可以改变或不优化它。所以你应该让读者和编译器清楚你的意图:

auto limit = 9 + (n % 2 == 0); 
for(i = 1; i <= limit; i++)
...

关于c++ - 用于指令的 If 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47995140/

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