0

こんにちは、私は答えることができない練習問題を含むこの本を持っています。いいえ...これは宿題の質問ではありません。これは、私に勧められた「コンピューター システム、プログラマーの視点」という本の独学です。

質問は次のとおりです。 ここに画像の説明を入力

どんな助けでも大歓迎です!

4

2 に答える 2

11

lengthは署名されていない0ため、そのパラメーターを渡すと、希望するようにはなりlength - 1ませUINT_MAXん。-1したがって、ループが実行され、 のサイズの外側にアクセスしますa

于 2013-10-01T03:52:22.663 に答える
1

これを変更するunsigned length to int length と、コードは完全に実行されます

上記のコードが機能しない理由は

符号なしの長さを使用する場合、長さに 0 を渡すと、ループ内(length - 1)で範囲を循環し、最大値を取るため、ループでセグメンテーション違反が発生します。

于 2013-10-01T04:12:48.370 に答える