要使用scanf函數進行輸入:
1.如果用scanf()要輸入讀取基本變量的值,需要加&。
2.如果用scanf()讀取的是把字符串讀入字符數組中,則不需要加&
1 #include<stdio.h> 2 int main() 3 { 4 int age;/*變量*/ 5 float assets;/*變量*/ 6 char pet[30];/*字符數組*/ 7 8 printf("Enter your age, assets, and favourite pet.\n"); 9 scanf("%d %f",&age,&assets);/*基本變量類型加&*/ 10 scanf("%s",pet);/*字符數組不加&*/ 11 printf("%d $%.2f %s\n",age,assets,pet); 12 13 return 0; 14 } 15 /*輸出樣例 16 17 Enter your age, assets, and favourite pet. 18 30 19 92360.88 llama 20 30 $92360.88 llama 21 22 */
scanf()函數中可以輸入普通的字符,但是輸入之後必須嚴格按照輸入後的形式進行數據的輸入,比如:
- scanf("%d,%d",&a,&b);:這裏在兩個%d之間有一個普通字符“,”,所以在輸入a和b的值要按照scanf函數内的格式嚴格輸入 必須要像這樣輸入(2,3)。
- scanf("%d %d",&a,&b);/scanf("%d%d",&a,&b);:這在兩個%d之間有一個空格,除了%c,scanf函數會自動的跳過待輸入值前面所有的空格。所以scanf("%d %d",&a,&b);和scanf("%d%d",&a,&b);的行爲相同。
- 如果在格式字符串中把空格放在%c前面,scanf()便會跳過空格,從第一個非空白字符開始讀取。
也就是説:scanf("%c",&ch);從第一個字符開始讀取,而scanf(" %c",&ch);則從第一個非空白字符開始讀取。