論理演算の条件式
Re: 論理演算の条件式
10個くらいのorでつながり、1億回くらいループするif文を書いて、
1)1個目で真
2)5個目くらいで真
3)最後で真
で、どれが速いかを比べてみては?
1)1個目で真
2)5個目くらいで真
3)最後で真
で、どれが速いかを比べてみては?
バグのないプログラムはない。
プログラムは思ったとおりには動かない。書いたとおりに動く。
プログラムは思ったとおりには動かない。書いたとおりに動く。
Re: 論理演算の条件式
||の第1引数が真ならば、第2引数は評価されない、となっています。
ref) https://www.gnu.org/software/gnu-c-manu ... -Operators の第2文
ref) https://www.gnu.org/software/gnu-c-manu ... -Operators の第2文
このため、The GNU C Reference Manual さんが書きました: The logical disjunction operator || tests if at least one of two expressions it true. If the first expression is true, then the second expression is not evaluated.
に関しては「評価されません」。
オフトピック
遅くともC89以降、この動作が標準に定められた動作になります。