eof初見面,鍵盤快取區,if迴圈的逗號表示式
1、可嘗試用eof來作為迴圈結束標誌,eof在windows中為ctrl+c ,在 unix中一般是ctrl+c,說的簡單一點也就是,只要你不在windows系統中使用ctrl+c,迴圈就會一直執行,不會出現「按任意鍵繼續」(表示編譯結束)。
2、並且要麼明確一點,在吃回車的那一節部落格中也講到c語言在讀取鍵盤資料時,一般是帶快取的資料輸入。如使用者在按回車之前輸入了不止乙個字元,其他字元會保留在鍵盤快取區中。而c語言一般以回車作為輸入結束標誌。所以只要你不輸入回車,輸入很多次的資料時,會發現編譯器完成了很多次的列印,你以為編譯器是一次迴圈,但仔細思考會發現,編譯器其實已經完成了很多次迴圈。
3、在if迴圈中每個語句都很簡短時,可嘗試使用if的逗號表示式,他更為簡潔,個人覺得看起來也比較舒服,尤其是在**很長時,更體現了其優越性。沒有了大括號,用逗號隔開每句話,以分號作為結束標誌。如: if(a>b) tmp=a,a=b,b=tmp;
可嘗試帶著思考完成下面的一道題:
輸入三個字元後,按各字元的ascii碼從小到大的順序輸出這三個字元。
輸入資料有多組,每組佔一行,有三個字元組成,之間無空格。
對於每組輸入資料,輸出一行,字元中間用乙個空格分開。
qwe asd zxc
e q w
a d s
c x z
#include
intmain()
return0;
}
字元輸入,輸出問題
2007 11 23 23 03 yhy19820816 瀏覽 0 次 scanf s c 把字串輸完就退出了,為什麼他們在一起時,單個字元輸不進來?scanf s c 這樣就輸進來了,我不太懂,為什麼他們組合的時候必須加乙個明確的分隔符?scanf d f d c 沒有分隔符,但輸入都是正常的啊....
輸入輸出問題彙總
8.20嗶哩嗶哩題目遇到的問題 輸入一串字串 中間可能存在空格 怎麼把它儲存到乙個string中。string line getlin cin,line 輸入未知數目的數字,怎麼給存入陣列中?123,23,123,169,123,首先要用字串getline來儲存,把一行資料給存到字串中,然後從字串分...
C 檔案輸入輸出問題
此函式 唯一形參跟返回值都是istream型別。該函式應該一直讀取直到檔案結束為止,還應該將讀取內容輸出到標準輸出,最後,重新設定流使其有效,並返回流。istream get istream in int val while in val,in.eof if in.bad throw std run...