ゲームをしましょう

PVS-Studio。ゲームをしましょう。
PVS-Studioアナライザーの作成者は、注意力を確認することをお勧めします。

コードアナライザーは疲れることなく動作し、気づきにくい多くのエラーを見つけることができます。 PVS-Studioを使用してエラーを検出したコードフラグメントを選択しました。 すべてのフラグメントは、有名なオープンソースプロジェクトから取得されます。

洞察力のあるアナライザーと競合し、自分でエラーを見つけようとすることをお勧めします。 15のランダムに選択されたタスクが提供されます。 正解のために、1分以内に与えられた場合、1つのポイントがあります。 コードスニペットは短く、1分は正直な制限です。


エラーのあるいくつかの例を検討し、正しい答えを示す方法を説明します。

最初の例。 次のコードは次のとおりです。

例1

ここでは、エラーが赤で強調表示されています。 もちろん、問題を解決する際に、これは起こりません。

プログラマーが誤って封印し、インデックス2の代わりに3を書いた。マウスカーソルがコード上を移動すると、さまざまな単語と数字が強調表示されます。 番号3にカーソルを合わせて、マウスの左ボタンをクリックする必要があります。

これが正解です。

2番目の例。 エラーがどこにあるかを明確に示すことは常に可能とは限りません。

例2

バッファーのサイズを数値48と比較する必要があります。余分な演算子sizeof()が誤ってコードにポップされました。 その結果、バッファーのサイズがint型のサイズと比較されます。

私の意見では、エラーは「sizeof」演算子であり、マウスでポイントする必要があるのはまさにその上です。 ただし、プログラムのテキスト全体を目の前に置かずに、このように推論できます。 演算子 'sizeof'は何らかのバッファーのサイズを計算するはずでしたが、誤ってマクロをスリップしました。 エラーは、「SSL3_MASTER_SECRET_LENGTH」の使用です。

このような場合、「sizeof」または「SSL3_MASTER_SECRET_LENGTH」を選択したかどうかに関係なく、答えはtrueとしてカウントされます。

そして今、私たちはあなたに幸運を祈ります。 ゲームを開始します。

PS私たちは、タスクが完璧ではなく、「マウスを突く」必要がある場所が常に明らかではないことを理解しており、必要に応じてシステムがだまされる可能性があります。 サイトのこのセクションは、娯楽のために作成されたものであり、誰かを完全にテストするためではないことに注意してください。

Source: https://habr.com/ru/post/J237219/


All Articles