(1)關於scanf
scanf("%s",s)/*假設s為字元型陣列*/,該函式遇到回車或空格輸入結束,並自動將輸入的資料和字串結束符'\0'輸入陣列中。這裡特別需要注意一點的是輸入單個字元,即scanf("%c",c)時,在其後面最好習慣性加上乙個getchar()來**回車,因為程式遇到scanf()時不是直接要使用者輸入,而是先看輸入緩衝區內是否還有東西,像「空格、回車」都在讀取之列。
(2)關於gets(s)
引數s是陣列名,函式從輸入得到乙個字串,遇到回車輸入結束,自動將輸入的資料和字串結束符'\0'輸入陣列中。實際上函式gets()有返回值,如果輸入成功時其返回值為字串第乙個字元的位址。
值得注意的是gets()函式可能會輸入過多字元,導致陣列越界,在程式執行時出現錯誤。
(3) 關於printf()
該函式遇到'\0'結束;
(4)關於puts()
輸出遇'\0'自動將其轉換為'\n',即輸出字串後換行。
輸入輸出字元和字串總結
scanf輸入單個字元 char letter scanf c letter scanf輸入字串 給數值型陣列賦值時,只能用for迴圈乙個乙個的賦值,但是字元陣列賦值時可以直接賦值,不需要使用迴圈,系統會在最後新增結束標誌符 0 char a 30 scanf s a 可以有 也可以沒有 inclu...
輸入輸出流的一些細節問題
1 寫文字檔案 第乙個引數 寫入檔案需要指定檔名,如果不指定的檔案不存在,會自動建立檔案 如果存在,會自動覆蓋以前的內容。第二個引數 指定檔案是否以追加的方式寫入檔案。filewriter fw null try fw.write c catch ioexception e finally catc...
字串的輸入輸出
1.字串陣列 初始化 char s1 array 字元陣列 char s2 6 array 陣列長度 字串長度 1,因為字串末尾會自動添 0 printf s,c n s1,s2 2 2.字串指標 初始化 char sp pointer 字元指標 printf s,c,c n sp,sp,sp 2 ...