1. 程式人生 > >scanf與printf轉換說明符區別

scanf與printf轉換說明符區別

【問題描述】 scanf函式與printf函式的轉換說明符幾乎一致,都可以使用%c,%d,%e,%f,%g,%a,%p,%o等。那麼他們的轉換說明符有何區別?

【解析】

printf函式中將%f,%e,%E,%g,%G同時用於float型別和double型別,而scanf只把它們用於float型別,而用於double型別時要求使用l修飾符,即使用類似於%le的轉換說明符。這就意味著,如果將printf函式的格式程式碼照搬於scanf函式,當輸入為double型別時,若沒有l修飾符修飾,則會出現精度截短的現象。