理解C 中的空格輸入
在C 中,從標準輸入讀取輸入時,提取運算符(cin) 預設情況下會跳過空白字元。這就是為什麼在嘗試使用給定程式碼中的字元陣列直接檢索空格字元時會忽略空格。
使用noskipws 處理空格
也可以讀取空格與其他空白字元一樣,您可以使用noskipws 操縱器:
cin >> noskipws >> a[i];
這個操縱器指示cin 讀取所有字符,包括空格。但是,它對於您的情況可能並不理想,因為它還會讀取其他空白字符,例如製表符和換行符。
對單一字元使用get()
讀取空格字元和其他單一字元的更精確方法是使用get() 函數:
cin.get(a, n);
此函數讀取n從輸入流中提取字元並將其儲存在陣列a 中。當遇到換行符 (n) 或讀取 n-1 個字元後,它會停止讀取。請注意,使用足夠大小 (n) 的陣列來容納所有字元非常重要。
透過使用get(),您可以檢查單個字符並專門查找空格字符:
if (a[i] == ' ') // Do something when a space is encountered
此方法可讓您更有選擇性地處理空格和其他字符,而無需使用noskipws 全域停用空格跳過。
以上是如何在 C 中讀取和處理空格作為輸入?的詳細內容。更多資訊請關注PHP中文網其他相關文章!