scanf輸入帶空格的字符串 c語言中如何讀入一個含空格的字符串?
c語言中如何讀入一個含空格的字符串?要輸入帶空格的字符串,要用到一個格式字符:%[] --> 一個字符集。具體作用是:如果輸入的字符屬于方括號內(nèi)字符串中某個字符,那么就提取該字符;如果一經(jīng)發(fā)現(xiàn)不屬
c語言中如何讀入一個含空格的字符串?
要輸入帶空格的字符串,要用到一個格式字符:%[] --> 一個字符集。具體作用是:如果輸入的字符屬于方括號內(nèi)字符串中某個字符,那么就提取該字符;如果一經(jīng)發(fā)現(xiàn)不屬于就結(jié)束提取。該方法會自動加上一個"0"到已經(jīng)提取的字符后面。#include
c語言如何輸出有空格的字符串?
c語言中輸出字符串的函數(shù)有printf("%s") puts() fputs()等,字符串中可以是任意的字符,包括空格在內(nèi),無特殊處理,如: char str[]="hello world" printf("%s ", str ) puts(str) fputs(str,stdin) 但在輸入帶有空格的字符串時,只能用gets()或fgets(),而不能用scanf("%s") ,因為scanf("%s")輸入字符串時,遇到空格就結(jié)束了輸入。而gets()函數(shù)是以回車為結(jié)束符的輸入函數(shù),可以輸入帶空格的字符串。
C語言當用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是什么啊?
用gets()函數(shù);gets從標準輸入設(shè)備讀字符串函數(shù),其可以無限讀取,不會判斷上限,以回車結(jié)束讀取,所以程序員應(yīng)該確保buffer的空間足夠大,以便在執(zhí)行讀操作時不發(fā)生溢出。功能從stdin流中讀取字符串,直至接受到換行符或EOF時停止,并將讀取的結(jié)果存放在buffer指針所指向的字符數(shù)組中。換行符不作為讀取串的內(nèi)容,讀取的換行符被轉(zhuǎn)換為‘0’空字符,并由此來結(jié)束字符串。返回值讀入成功,返回與參數(shù)buffer相同的指針;讀入過程中遇到EOF(End-of-File)或發(fā)生錯誤,返回NULL指針。所以在遇到返回值為NULL的情況,要用ferror或feof函數(shù)檢查是發(fā)生錯誤還是遇到EOF。擴展資料:gets()函數(shù)用法:示例1、C:#include