關於while迴圈中的~scanf()
可以經常在ACM程式碼中看到 while(~scanf("%d",&n)){ } 這樣的程式碼,意思是在讀到輸入結尾時迴圈也結束。
一般在讀到輸入流結尾時,scanf返回的是EOF。
EOF是在標頭檔案stdio.h中定義的常量,一般為-1。
-1 的原碼是10000001,反碼是1111110,補碼是11111111。複習一下,正數的原碼、反碼、補碼都是一樣的;負數的原碼是符號位為1,反碼是(對原碼)符號位不變、其餘位取反,補碼是(對原碼)符號位不變、其餘位取反、末位加1.
~EOF則是對EOF進行按位取反操作,則為00000000。所以while條件不滿足,迴圈結束。
相關推薦
關於while迴圈中的~scanf()
可以經常在ACM程式碼中看到 while(~scanf("%d",&n)){ } 這樣的程式碼,意思是在讀到輸入結尾時迴圈也結束。 一般在讀到輸入流結尾時,scanf返回的是EOF。 EOF是在標頭檔案stdio.h中定義的常量,一般為-1。 -1 的原碼是1000
while迴圈中continue和break的區別
除了滿足while條件外,還有兩種方法可以終止迴圈,它們分別是break和continue。它們唯一的區別是break跳出整個迴圈,直接執行下面的程式碼了;而continue是終止當次迴圈,不執行下面的程式碼,而是直接進入下一次迴圈,continue和pass的區別是,pass雖然什麼都不做, 但是還繼續執行
while迴圈中使用輸出語句停止死迴圈的原因
直接看程式碼 public class WhileTest { private boolean flag = true; public void setFlag(boolean flag) { this.flag = flag; } public void say() { whi
【本人禿頂程式設計師】多執行緒:為什麼在while迴圈中加入System.out.println,執行緒可以停止
在論壇看到這樣一個程式碼: public class StopThread { private static boolean stopRequested; public static void main(String[] args) throws InterruptedE
多執行緒:為什麼在while迴圈中加入System.out.println,執行緒可以停止
在論壇看到這樣一個程式碼: public class StopThread { private static boolean stopRequested; public static void main(String[] args) throws InterruptedE
關於while迴圈中的break和continue的區別
while迴圈如果不加條件限制的話,它會一直迴圈下去,那麼問題就來了,如果我不用條件去終止while迴圈的話,那麼我該用什麼方法去終止呢? 你可以選擇兩種終止while迴圈的方法 1.break 強行終止while迴圈 例如 while 1<10: print
continue 在 switch中使用 (switch巢狀在while迴圈中)
如果你在switch中使用continue,continue生效是對於while迴圈 如果你在switch中使用break,break生效是對於switch。 #include <stdio.h> int main() { int i_index;
shell下在while迴圈中使用ssh命令的問題
最近遇到一個很奇怪的問題,產品的某個功能可以根據日誌檔案的異常紀錄,去處理這些異常,不過在測試的時候發現每次都只能處理一條異常,然後整個迴圈就退出了。 開始以為是某個函式裡面呼叫了exit命令,看了一整遍程式碼也沒有發現使用exit的函式。最後只好在while迴圈裡面一點一
JS迴圈(分別在for迴圈/while迴圈/do-while迴圈中使用console.log()輸出“0~100”之間的“奇數”)
// for迴圈 for (var n = 0; n < 100; n++) { if (n % 2 == 1) { console.log(n); } } // while var i = 0; while (i < 100) { if (i % 2 == 1) { conso
Shell指令碼基礎16-while迴圈中使用sleep命令
本文繼續練習while迴圈語句,這裡要介紹一個sleep的命令。如果寫過自動化指令碼,特別是selenium的同學,肯定很熟悉這個sleep。沒錯,sleep就是暫停的意思,例如slee
while迴圈中return、break、continue的區別
return 的作用是退出迴圈體所在的函式,相當於結束該方法。 break 的作用是結束迴圈,跳出迴圈體,執行後面的程式。 continue 的作用是結束此次迴圈,進行下一次迴圈; 下面用程式來說明: #include<iostream>
SQL server 中while迴圈的使用方法,將day表的資料累加到sum表
因為在保險行業工作,在統計資料的時候會遇到將每天的資料累加起來作為年累計的資料落到sum表中。涉及公司的機密就不把實際的表結構和資料展示,我重新建立一些測試表來說明while迴圈的神奇之處,day的資料累加到sum表中。 一、準備資料表t
shell指令碼中的for迴圈和while迴圈
基礎for迴圈有三種: ①直接寫-------例如:for i in 1,2,3,4(注:i 是變數; in是在什麼地方;do和done之間是迴圈體) &n
python中while迴圈運算子及格式化輸出
一,while迴圈 while 條件: while語句塊(迴圈體) 執行: 判斷你給的條件是否為真,如果真則執行迴圈體。否則跳出迴圈。 執行完迴圈體之後再次判斷條件是否為真 例子1 我們玩聯盟的時候噴打野的的時候,可以用這種方式,這是一個死迴圈,條件
C#程式設計基礎第七課:C#中的基本迴圈語句:while迴圈、do-while迴圈、for迴圈、foreach迴圈的使用
知識點:while迴圈、do-while迴圈、forxufo迴圈、ach迴圈的使用。 1、while迴圈 特點:先判斷條件,條件為真,執行迴圈語句。條件為假,直接結束迴圈語句。 語法: while(條件表示式) { 迴圈語句;
python中的while迴圈和for迴圈
1.while迴圈 Gif 演示 Python while 語句執行過程 while 語句時還有另外兩個重要的命令 continue,break 來跳過迴圈,continue 用於跳過該次迴圈,break 則是用於退出迴圈,此外"判斷條件"還可以是個常值,表示迴圈必定成立,具體用法如下
Python中的用for,while迴圈遍歷檔案例項
使用for迴圈遍歷檔案 開啟檔案 open r:以讀模式開啟 w:以寫模式開啟 a:以追加模式開啟 r+:以讀寫模式開啟 w+:以讀寫模式開啟(參見w) a+:以讀寫模式開啟(參見a) rb:以二進位制讀模式開啟 wb:以二進位制寫模式開啟(參見w) ab:以二進位制追
Python中的迴圈退出舉例及while迴圈舉例
迴圈退出 for迴圈: for iterating_var in sqquence: statement(s) else: statement(s) for 迴圈如果正常結束,都會執行else語句。 指令碼1: &nb
python中的簡單while迴圈及邏輯運算子
一、while迴圈 while 條件: 迴圈體(break, continue)
python中的分支和迴圈:for 迴圈,while迴圈,三元操作符,斷言,assert關鍵字,rang()函式總結
1.python中的條件語句 例:score=int(input('請輸入一個分數')) if 100>=score>=90: