>> 揚聲器1：讓我們一起來看看 在CS50庫，
特別是其調用getInt功能。
在這裡，我們有實際的源 對於調用getInt代碼。
並請注意，這不是時間太長， 其中大部分是構成一個while循環 -
無限循環在那 - 只有 返回一個值，一旦我們實際上已經
得到我們所期待的。
讓我們通過它。
>> 請注意，在這裡第一， while循環開始。
注意接下來我們有一個行代碼 這實際上是調用GetString的，
和存儲在返回值 變量，叫做string類型的線，。
然後，我們做的有點完整性檢查。
如果行== null，那麼我們好奇地 返回INT_MAX。
>> 現在，事實證明，INT_MAX是一個 特殊常量聲明別處
指定的最大可能 INT，你可以在一個代表
程序是這樣的。
現在我們已經擅自決定返回 INT_MAX作為一個哨兵值
各種各樣的，一個我們已經保留作為 這意味著一個錯誤已經發生。
因此，我們付出的代價，當然是 該調用getInt顯然可以不
實際上返回一個數字一樣大 INT_MAX，因為即使它想，
該返回值應該真的 由調用者解釋 -
誰是使用調用getInt -
作為某種錯誤。
>> 接下來，請注意，我已經聲明 一個int n和一個char角
在這個代碼下一行，我所說的 函數調用sscanf的，在傳遞
四個參數。
線，這是字符串的用戶的 類型中，“％I％c”的，這是一個格式
字符串，我期待的用戶可能 類型，隨後的地址
n和C的地址。
在現在的生活的sscanf的目的確實是 掃描一個串尋找的
特定的格式，程序員 已指定為第二個參數。
在這種情況下，％i是 還有，因為是％C。
所以，如果遇到的sscanf在一個int 用戶的輸入，該整數將被存儲
稱為n變量，裡面因為 我們已提供作為第三
參數的sscanf n的地址。
這意味著sscanf的，的確可以去 在那裡，並在其中更新值。
>> 現在，如果用戶鍵入 在更多的東西
比一個或多個數字 -
換句話說，某種類型的字符 -
那第二個變量c​​，其地址 我們傳入的sscanf作為其第四
參數也將被填充。
現在檢查的的上攻 從用戶額外的字符是
如果他或她不配合， 並在不止一個int類型，
我們就可以檢測到它在這 方式，因為在這種情況下，sscanf的
將要返回2，表示 無論是佔位符填充
與值。
但我們希望sscanf的，而不是 返回1，這只能意味著用戶
提供一個int。
>> 我們該怎麼辦，如果sscanf的 的確返回1？
好了，我們立即釋放行 用戶鍵入的，然後我們
立即返回N，有 得到一個int。
否則，如果sscanf的不返回1，並 用戶因此不配合，
我們仍然可以自由線，但我們 現在提示重試用戶。
而且因為我們仍然是內 否則無限循環，該過程
將重新開始，也許又和 或許再次，用戶實際上直到
為我們提供了一個int。