【學習筆記】【C語言】scanf函數,學習筆記scanf函數
1. 簡介
這也是在stdio.h中聲明的一個函數,因此使用前必須加入#include <stdio.h>。調用scanf函數時,需要傳入變數的地址作為參數,scanf函數會等待標準輸入裝置(比如鍵盤)輸入資料,並且將輸入的資料賦值給地址對應的變數
2. 簡單用法
int age;
scanf("%d", &age);
scanf函數時,會等待使用者的鍵盤輸入,並不會往後執行代碼。scanf的第1個參數是"%d",說明要求使用者以10進位的形式輸入一個整數。
這裡要注意,scanf的第2個參數傳遞的不是age變數,而是age變數的地址&age,&是C語言中的一個地址運算子,可以用來擷取變數的地址
輸入完畢後,敲一下斷行符號鍵,目的是告訴scanf函數我們已經輸入完畢了,scanf函數會將輸入的值賦值給age變數
3. 其他用法
1> 用scanf函數接收3個數值,每個數值之間用中劃線-隔開
scanf("%d-%d-%d", &a, &b, &c);
3個%d之間是用中劃線-隔開的,因此我們在每輸入一個整數後都必須加個中劃線-,比如這樣輸入數值之間的分隔字元是任意的,不一定要用中劃線-,可以是逗號、空格、星號*、井號#等等,甚至是英文字母
// 逗號,
scanf("%d,%d,%d", &a, &b, &c); // 輸入格式:10,14,20
// 井號#
scanf("%d#%d#%d", &a, &b, &c); // 輸入格式:10#14#20
// 字母x
scanf("%dx%dx%d", &a, &b, &c); // 輸入格式:10x14x20
1> 用scanf函數接收3個數值,每個數值之間用空格隔開
scanf("%d %d %d", &a, &b, &c);
3個%d之間是用空格隔開的,我們在每輸入一個整數後必須輸入一個分隔字元,分隔字元可以是空格、tab、斷行符號
4. 注意
scanf的第一個參數中不要包含\n,比如scanf(“%d\n”, &a); 這將導致scanf函數無法結束
5.課程代碼
1 #include <stdio.h> 2 3 int main() 4 { 5 // 定義一個變數,用來儲存使用者輸入的整數 6 int number; 7 8 // scanf函數只接受變數的地址 9 // scanf函數是一個阻塞式的函數,等待使用者輸入10 // 使用者輸入完畢後,就會將使用者輸入的值賦值給number變數11 // 函數調用完畢12 scanf("%d", &number);13 14 printf("使用者輸入的值是%d\n", number);15 16 return 0;17 }
1 /* 2 提示使用者輸入兩個整數,計算並且輸出兩個整數的和 3 */ 4 5 #include <stdio.h> 6 7 int main() 8 { 9 // 1.定義2個變數,儲存使用者輸入的整數10 int num1, num2;11 12 // 2.提示使用者輸入第1個整數13 printf("請輸入第1個整數:\n");14 15 // 3.接收使用者輸入的第1個整數16 scanf("%d", &num1);17 18 // 4.提示使用者輸入第2個整數19 printf("請輸入第2個整數:\n");20 21 // 5.接收使用者輸入的第2個整數22 scanf("%d", &num2);23 24 // 6.計算和,並且輸出25 int sum = num1 + num2;26 printf("%d+%d=%d\n", num1, num2, sum);27 28 //printf("num1=%d, num2=%d\n", num1, num2);29 return 0;30 }