

如果每次輸入固定是三個資料,那就比較簡單了,直接依次讀入處理就可以得到這三個資料,但是這里給出的資料可能是兩個數字,也可能是三個數字,所以不能直接讀入,因此可以將整條陳述句讀入字符陣列中,然后再根據字串進行判斷,根據不同情況分離出資料,代碼:


使用fgets函式來讀入一行字串,并存入字符陣列中,空格也一起存下(gets函式有溢位風險故不使用),
fgets函式使用格式為:fgets(s,sizeof(s),stdin),三處意義分別為:要讀入到的字串、讀入字串的長度和從何種流中讀取(一般為標準流stdin),
接下來使用的sscanf函式,可以從已經存盤下來的字串中讀取資訊,同理,sprintf可以將資訊讀入到字串中,scanf和sscanf,printf和sprintf是很接近的,
以scanf和sscanf為例,scanf是從標準中讀入,而sscanf是從已知字串中讀入,所以要額外提供字串的名稱,表示從哪個字串中讀取資訊,![]()
本題中指令字串中第一個字符是'a','b','c',這回影響從這個字串中讀入資訊,故將該字串賦值為空格,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/51077.html
標籤:C++
上一篇:藍橋杯練習(入門一)圓的面積
下一篇:L1-011 A-B (20分)
