Reduce judgment in C cycle ------ [Badboy], C cycle badboy
In order for the compiler to better optimize the loop, we should try to reduce the judgment in the loop. One way is to integrate the judgment statement into the expression. For example:
For (int I = 0; I <1000*10; I ++)
{
Sum + = data [I/1000] [I % 10];
}
If we need to add a judgment, only non-negative integers need to be used for summation:
For (int I = 0; I <1000*10; I ++)
{
If (data [I/1000] [I % 10]> = 0)
Sum + = data [I/1000] [I % 10];
}
The following statement is integrated into the expression:
For (int I = 0; I <1000*10; I ++)
{
Sum + = (data [I/1000] [I % 10]> = 0) * data [I/1000] [I % 10];
}
Note that this method of integrating judgment statements into expressions does not always work under any circumstances. If the if condition is true, you can consider integration like this. if such integration makes the logic complex, we do not recommend that you do this, it is very important to write simple and clear code. The best way is to test the performance of the two versions, and then select a better performance.
C language circular judgment minefield
Dear valued customer, I am a member of the "zhuyun block". I am very glad to answer your questions! This team is recruiting...] ghost jump is stealth! Invisible to the police!
Can an if loop exist in a while loop in C language?
If is a judgment statement, not a loop statement
Nested loops are acceptable.
The while loop can contain a while loop or a for loop.