ゲームをしましょう

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



All Articles