スピーカー:のは、そのプログラムを実装してみましょう 整数の入力を求め しかし、続けて入力を求められる まで、別の整数のための その整数は正である。 さて、cs50.hが含まれ、これを書いてみましょう、 標準IOドットH、int型が含まれる メイン[無効]。 それでは、実際に要求するように始めましょう この整数のためのユーザにおいて維持しながら、 私たちが求めるプロンプトを表示したいということを覚え それらそれまでの 番号は実際に肯定的である。 だから私は、ループのいくつかの種類をお勧めします 構築が、で実行されるループ 一回。 およびDO-whil​​eループが可能にリコール 私たちは、まさにそれをすることができません。 それではこれをコーディングしてみましょう。 まずはint型を宣言してみましょう - 私たちは、よ Nと呼ぶ - を保管する場所を示す ユーザーの整数。 それでは次の手順を実行してみましょう。 printf関数は、私に正の整数を与えてください。 それでは取得してみましょう、その使用INT CS50ライブラリのGetIntで 機能、N GetIntで取得します。 そして今、我々が何かをして完了です。 しかし、我々はこれをしたいとしている nはあるが - 何? - 確かに我々の場合、1未満の 正の整数を求めています。 それでは先に進み、プリントアウトしてみましょう。 すべてがうまく、感謝である場合 正のintのため、 セミコロンは、ファイルを保存します。 それではコンパイルして実行してみましょう。 正ドットスラッシュがプラスにする。 そして今、私は、プロンプトが表示されています 正int型のため。 私は1に協力しましょう​​。 正のintをありがとう。 それでは、このプログラムを再実行してみましょう と協力していない。 私に正の整数を与えてください。 どのように負の1はどうでしょうか? 興味深い。 プログラムは、すでに再入力を求められ int型私。 それではもう少しとする 0では困難。 じゃない正の整数なので、みましょう 協力し、今回 、もう一度、1を提供する。 正のintをありがとう。 今では、その私に注意することが重要です 、6行目で私の変数nを宣言した DO-whil​​eループの外。 私の代わりに私の中のn宣言していた 日曜whileループを、特に上に、たとえば、 私もからINTを取得し、ライン10、 int型のnが唯一持っているだろうと、ユーザー、 巻き毛の範囲内で存在していた 現在オンになっている中括弧 8行目と11行目に。 換言すれば、Nにスコープされます そのDO-whil​​eループの内側。 しかし、問題は、私たちもということです 12行目ではNを使用したい 条件の内側。 だから、そう見ていないにもかかわらず、 かなり、それは非常に意図的なものだ nが外で宣言されている このDO-whil​​eループ。