2020年07月06日

C言語の復習というか、こういうの見たの始めてって。。。なあぁにいぃ

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もそうなのかな・・・そのうちテストしようっと。

posted by toinohni at 17:36| 東京 ☀| Comment(0) | ソフト系雑学 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください