根據需要壹般選擇如下3種方法:
1,已知數量,且個數較少:
scanf("%d%d%d",&a&b&c);
2,已知數量,但數量較多:
for(int?i=0;i<n;i++)
scanf("%d",&a[i]);
3,不知道數量
int?i=0;
while(scanf("%d",&a[i]))
{
i++;
}
擴展資料:
scanf輸入指南:
(1)在高版本的 Visual Studio 編譯器中,scanf 被認為是不安全的,被棄用,應當使用scanf_s代替 scanf。
(2) 對於字符串數組或字符串指針變量,由於數組名可以轉換為數組和指針變量名本身就是地址,因此使用scanf()函數時,不需要在它們前面加上"&"操作符。
(3) 可以在格式化字符串中的"%"各格式化規定符之間加入壹個整數,表示任何讀操作中的最大位數。
(4) scanf函數中沒有類似printf的精度控制。
如: scanf("%5.2f",&a); 是非法的。不能企圖用此語句輸入小數為2位的實數。
(5) scanf中要求給出變量地址,如給出變量名則會出錯
如 scanf("%d",a);是非法的,應改為scanf("%d",&a);才是合法的。
(6) 在輸入多個數值數據時,若格式控制串中沒有非格式字符作輸入數據之間的間隔,則可用空格,TAB或回車作間隔。
C編譯在碰到空格,TAB,回車或非法數據(如對“%d”輸入“12A”時,A即為非法數據)時即認為該數據結束。
(7) 在輸入字符數據(%c)時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。