若定義float a;現要從鍵盤輸入a資料,其整數字為3位,小數字為2位,則選用( a)
a)scanf(「%6f」,&a); b)scanf(「%5.2f」,a);
c)scanf(「%6.2f」,&a); d)scanf(「%f」,a);
為什麼不是scanf("%3.2f",&a);
例子
#include#includeint main()
原來scanf不能對精度進行控制,在scanf中的%6f表示讀取乙個長度為6位(含小數點)的浮點型資料。
(3) scanf()函式中沒有精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。
所以可以得出結論:scanf和printf對資料長度的控制不同,scanf不能控制精度只能控制長度,printf可以控制長度也可以控制精度。
然後又發現了一樣東西:
%*d4
表示忽略乙個4位的整數
於是又寫了兩個demo測試了一下
1.忽略前五位
#include#includeint main()
輸入了123456後,輸出結果為6 2.
忽略後五位
#include#includeint main()
輸入了123456後,輸出結果為1
當scanf正確讀入時,返回值是和讀取的變數數目相等的,也就是讀取了幾個數就返回多少,而當讀取出錯、讀到檔案末尾時,scanf函式會返回-1
scanf與printf使用詳解
scanf 格式控制 變數位址 如 scanf d n 其中n為變數,在定義完成乙個變數後,系統會為該變數分配記憶體空間 該空間在記憶體中的位址稱為變數的位址。為了得到變數的位址可以使用取位址操作 scanf的格式符如下 資料型別 格式符int dlong long lld double lfflo...
scanf和printf的用法
scanf和printf的用法 printf是標準輸出函式 scanf是標準輸入函式 printf的格式為printf 輸出內容 scanf的格式為scanf 輸入控制符 輸入的變數位址 n表示變數n的位址 表示取址符 用在變數前獲得變數的位址 你寫的這兩句前面是顯示please input the...
scanf與printf的強大
習慣了用c 常常會忽略了scanf和printf在某些題的巧妙或是便捷之處。1.scanf 很多題目要求的輸入,一般是整數 字串或陣列,一般用cin就可以 但當我們輸入乙個字串,有時我們可以根據題目要求,將字串既輸入數字又輸如字元甚至其他固定符號比如正負號小數點時,我們可以用scanf輸入。例如pa...