if ( (a > 50) || (b > 5) || ( c = a+b, c > 5) ){
適当な処理
}
こういうif文です。条件分の中で、c = a + b, という演算をしてもいいんだね、とびっくり。
そして、次のびっくり。この c = a + b は実行されるとは限らないのである。ここだ、問題は。
1つ目の ( a > 50) が true であれば、この条件分は true なので2,3番めは評価する必要がないのである。よって、c = a + b の演算は実行されないのである。
(a > 50) が false, (b > 5) が falseであると3つ目の、c = a + b が実行されるのである。
ここ、要注意・・・という話ではない。僕はそういう書き方はしないんだもん(笑)
こういう条件式の文の中で代入文とか計算をするなや、バカタレ!! 実行されるかどうかがわからんのだぞ。。。と、今日、知った。
この記述はC言語の学習サイトにあったものである。こんなのワテが自分で書くかいな。ワイはサイトからコードをコピペして動かいのである。なんちーて。
Win 10 + WSL + Ubuntu + VScode の Terminal = bash で確認。俺んちのWSLのUbuntuは、codeと叩くとVScodeが起動する。なんでかは知らん。オレが酔っ払ってインストしたと思われる(笑)
このVScodeはUbuntu側のFolerももWin 10側のFolderもアクセスできるし。ちょ~便利である。
少なくともVScodeをUbuntuで使うために、VirtualBox + Ubuntuを起動する必要がない。これは、ちょ~便利である。なんて素晴らしいツールを提供してくれるんだ、Microsoft!! Ubuntuも。
モーモー 牛が啼くうぅ・・・・
とりあえず、条件分の中で計算はしないほうがいいんじゃないかなーと思った次第である。
Pythonもそうなのかな・・・そのうちテストしようっと。