0

グラスドアのインタビューの質問は次のとおりです。私の知識では、そこから何かを推測することは困難です。適切な質問は何ですか?

size_t 数値を計算するマクロ。ループに入ると、-1 が size_t の数値にキャストされ、ループを開始できなくなります。

Michael Aaron Safyan が示唆するように、次のようになります。

逆に動作します:

for (size_t i = 0; i > ((size_t) -1); i--) {}

説明については、答えを参照してください

4

1 に答える 1

2

問題はsize_t署名されていないため、-1 をキャストすると最大値が生成されることsize_tです。このケースは、符号付きの型 (intまたは などssize_t) を使用して修正できます。

于 2014-02-17T01:32:29.853 に答える