ソース読解、難度2級
以下のC言語ソースを読み、20文字以内で完結に動作を説明せよ。回答はコメント欄に記入すること。(5点)
a = 0; b = 0; if ((a == 1) || (b == 1)) { abFlag = 1; } else { abFlag = 0; }
変数名は替えたけど、ホントこのままで「実機」のソースとして使われてるんだよなぁ…何がどうしてこうなったんだろうな。
行きすぎた最先端を目指す hide10 の個人ブログ
以下のC言語ソースを読み、20文字以内で完結に動作を説明せよ。回答はコメント欄に記入すること。(5点)
a = 0; b = 0; if ((a == 1) || (b == 1)) { abFlag = 1; } else { abFlag = 0; }
変数名は替えたけど、ホントこのままで「実機」のソースとして使われてるんだよなぁ…何がどうしてこうなったんだろうな。
ディスカッション
コメント一覧
門外漢が答えてみるTEST
ずっとabFlag==0ですか
あるいはNOPが7サイクル挿入されるだけ とかですか?
あ” abFlagの初期値がわかんないですが、
もし初期値があればゼロ設定する効能ですか
これ、なにかのトンチですか?
コメントありがとう。
一生懸命考えてもらったのに申し訳ないけど、
トンチではないし、オチもないよ。
多分このレベルだとコンパイラに削除されるぐらいの
意味がないコードが紛れてたよ、ってオハナシです。
なるwww
マジメなバグですねwww
ソースコードの盗用チェックのための地雷とか
コメントありがとうございます。
場合によっては無意味なコードを混ぜて難読性を上げるというのはあるんでしょうね。
それで、今回のケースですが、一般的なコードで可読性が必要なので、わざわざ地雷を埋め込んだとは考えにくいなーと思っています。
ヨコからコメントですが
そういえば、
昔々、NECがx86互換CPU(V30あたり)をやってたときに、
Intelからパクリしたら、
バグトランジスタまでパクリして、
裁判だかで負けたとか、なんとかいう話あった気もします。
コメントありがとう。
寡聞にしてその裁判のハナシは知らなかったよ。
V30あたりはセカンドソースだったと思うけど、丸コピが問題だったのかな?
地図も良くコピーされるので、ワザと「バグ」を混入するらしいね。
存在しない街や交差点をデッチ上げ、コッソリ地図に入れておくらしい。
本当は存在しない場所なので、そこが「ある」とコピーだってバレちゃうらしいよ。