演講嘉賓:讓我們實現一個程序, 提示輸入一個整數用戶 但繼續促使他們 為另一個整數直到 該整數為正。 好吧,讓我們寫這篇文章,包括cs50.h, 包括標準的IO點H,整型 主要的[作廢]。 現在,讓我們真正開始提示 用戶對於這個整數,同時保持在 記住,我們要重新提示 他們直到 號實際上是正的。 所以我想某種循環的 構造,但是,在執行一個循環 至少一次。 和調用do-whil​​e循環使 我們這樣做。 讓我們來編寫這件事。 讓我們首先聲明一個int - 我們將 ■呼叫它 - 在其中存儲 用戶的整數。 現在,讓我們做到以下幾點。 printf的,請給我一個正整數。 現在,讓我們得到了使用整型 該CS50庫的調用getInt 功能,正得到調用getInt。 現在我們正在做的做的事情, 但我們會想這樣做 而n是 - 什麼? - 小於1時,如果我們的確 要一個正整數。 現在,讓我們繼續前進,並打印出來。 如果一切順利,謝謝 為正整數, 分號,保存文件。 現在讓我們來編譯和運行。 做出積極點斜線陽性。 而現在我被提示我 對於正整數。 讓我用1合作。 感謝您的正整數。 現在,讓我們重新運行此程序 而不是合作。 請給我一個正整數。 怎麼樣負1? 有意思的。 該程序已經重新提示 我要一個int。 讓我們稍微多 很難與0。 還不是一個正整數,所以讓我們 合作,這個時間 提供,再次,1。 感謝您的正整數。 現在需要注意的是我很重要 我宣布變量n在第6行, 在do-whil​​e循環之外。 如果我不是宣稱的n在我 do-whil​​e循環,特別是在,比方說, 第10行,在這裡我也得到了來自整型 用戶,那詮釋n將只有 捲曲的範圍內存在 括號是目前 線8和上線路11。 換句話說,正將作用域 這do-whil​​e循環的內部。 但問題是,我們還 想用n個行12 裡面的條件。 因此,即使它看起來並不那麼 漂亮,這是很刻意的說 n為外聲明 這個do-whil​​e循環。