首頁 > 軟體

c語言中scanf的基本用法

2021-01-12 12:06:09

前言

scanf()是C語言的格式輸入函數,和printf函數一樣被宣告在stdio.h標頭檔案中,它的基本使用很簡單:

1 int a;
2 scanf("%d",&a);//程式執行到這裡時,就等待使用者輸入;它接收的是變數的地址
          //所以一般情況下除了指標型變數和陣列名要給變數加上取地址符&

下面主要介紹了C語言中scanf的用法和注意事項,下面來一起看看詳細的介紹吧

scanf概念

scanf是格式輸入函數,功能是在螢幕上輸入指定的資訊。簡單的來說和printf相似卻不相同。

scanf呼叫格式: scanf("<格式化字串>",<地址表>);

如:

#include <stdio.h>
int main()
{
int a,b,c;
printf(「input three data:n」);//使用 scanf 之前先用 printf 提示輸入。
scanf("%d%d%d",&a,&b,&c); // scanf 的「輸入引數」中,前面的取地址符&記住
printf("%d,%d,%d/n",a,b,c);
return 0;
}

執行時按如下方式輸入三個值:

3□4□5↙(輸入a,b,c的值)

3,4,5 (printf輸出的a,b,c的值)

(1) &a、&b、&c中的&是地址運運算元,分別獲得這三個變數的記憶體地址。

(2) "%d%d%d"是按十進值格式輸入三個數值。輸入時,在兩個資料之間可以用一個或多個空格、tab鍵、確認鍵分隔。

以下是合法輸入方式:

① 3□□4□□□□5↙

② 3↙

4□5↙

③ 3(tab鍵)4↙

5↙

我們常用到的字串有:

%c 讀入一個字元。

%d 讀入十進位制整數。

%f 用來輸出實數,以小數形式輸出。

%lf 用來輸出實數,以更長的小數形式輸出。

分享下學習中明白的注意點:

1 當定義一個字元變數時,在鍵盤上輸入一個scanf會吸收回車和空格字元,為了進行程式碼的可行性需在函數結束前加函數getchar()進行吸收。例如:

定義一個字元z,是scanf是從鍵盤上獲取一個值。因為我們定義的是一個字元,所以將鍵盤上所有獲得的字元賦值給z,而空格和回車也是字元,會影響字元賦值給z,所以要在末尾加個getchar()函數進行吸收。

沒加getchar():

程式第二次進行運算時回車成了運運算元了。

正確結果是:

2 scanf函數中的「格式控制」後面應當是變數地址,而不是變數名。例如,若a和b為int型變數,如果寫成scanf("%f%f%f",a,b,c)是錯誤的。

scanf 的使用小結:

1 在 scanf 的「輸入引數」中,變數前面的取地址符&不要忘記。

2 scanf 中雙引號內,除了「輸入控制符」外什麼都不要寫。

3 「輸出控制符」和「輸出引數」無論在「順序上」還是在「個數上」一定要一一對應。

4 「輸入控制符」的型別和變數所定義的型別一定要一致。對於從鍵盤輸入的資料的類 型,資料是使用者輸入的,程式設計師是無法決定的,所以在寫程式時要考慮容錯處理。

5 使用 scanf 之前先用 printf 提示輸入。

總結

到此這篇關於c語言中scanf的基本用法的文章就介紹到這了,更多相關c語言scanf用法內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!


IT145.com E-mail:sddin#qq.com