Kuroki-Tomoko

我什麽都不知道,我只知道吃飯~

博客园 首页 新随笔 联系 订阅 管理

要使用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()函數中可以輸入普通的字符,但是輸入之後必須嚴格按照輸入後的形式進行數據的輸入,比如:

  1. scanf("%d,%d",&a,&b);:這裏在兩個%d之間有一個普通字符“,”,所以在輸入a和b的值要按照scanf函數内的格式嚴格輸入 必須要像這樣輸入(2,3)。
  2. scanf("%d %d",&a,&b);/scanf("%d%d",&a,&b);:這在兩個%d之間有一個空格,除了%c,scanf函數會自動的跳過待輸入值前面所有的空格。所以scanf("%d %d",&a,&b);和scanf("%d%d",&a,&b);的行爲相同。
  3. 如果在格式字符串中把空格放在%c前面,scanf()便會跳過空格,從第一個非空白字符開始讀取。

             也就是説:scanf("%c",&ch);從第一個字符開始讀取,而scanf(" %c",&ch);則從第一個非空白字符開始讀取。

 

 

 

 

 

posted on 2022-12-21 14:37  KurokiTomoko  阅读(17)  评论(0编辑  收藏  举报