scanf中間能不能有空格 scanf會讀取換行符和空格嗎?還是讀取換行符和空格后將它們丟棄?
scanf會讀取換行符和空格嗎?還是讀取換行符和空格后將它們丟棄?這是基于不同的情況。有一種特殊格式%C。使用%C格式時(shí),將讀取任何字符,包括換行符和空格。當(dāng)其他格式(不包括正則表達(dá)式)出現(xiàn)在前面時(shí),
scanf會讀取換行符和空格嗎?還是讀取換行符和空格后將它們丟棄?
這是基于不同的情況。
有一種特殊格式%C。使用%C格式時(shí),將讀取任何字符,包括換行符和空格。當(dāng)其他格式(不包括正則表達(dá)式)出現(xiàn)在前面時(shí),如果空格或換行符出現(xiàn)在前面,它們將被讀取并丟棄。當(dāng)它們出現(xiàn)在后面時(shí),它們不會被讀取,而只會被檢測到。例如,如果緩沖區(qū)包含一個(gè)空間123,并且用%D讀取該空間,則第一個(gè)空間將被丟棄。讀入123三個(gè)值,找到下一個(gè)是空格,然后停止。但結(jié)尾的空格仍在緩沖區(qū)中。在使用正則表達(dá)式時(shí),我們應(yīng)該查看正則表達(dá)式的編寫情況,并決定是否丟棄它們。
scanf用%c的時(shí)候可以識別空格嗎?
控制字符不同。使用%C表示您正在輸入一個(gè)字符。Scanf可以接受空格,但其他控制字符以空格結(jié)尾。例如,%d%s以空格結(jié)尾,所以您的兩個(gè)不接受空格