1. 程式人生 > 其它 >格式化輸入函式scanf();

格式化輸入函式scanf();

scanf函式稱為格式輸入函式,即按照格式字串的格式,從鍵盤上把資料輸入到指定的變數之中。Scanf函式的呼叫的一般形式為:
scanf(“格式控制字串”,輸入項地址列表);

雖然都很熟悉,但是時間長了 還是有需要注意的

1.格式說明符中,可以指定資料的寬度,但不能指定資料的精度。例:

float a;
scanf(“%10f”,&a);  //正確
scanf(“%10.2f”,&a); //錯誤

2.long、double型別資料使用的格式符是什麼呢?

%ld、 %lf或%le。

下面是一個格式符表格

3.*修飾符在scanf中()的用法:

當把*放在%和說明符字母之間時,它使函式跳過相應的輸入專案;

/*用*跳過scanf接收的數字*/
#include<stdio.h>
int main(void)
{
        int num;
        printf("Please enter three number:\n");
        scanf("%*d %*d %d",&num);
        printf("The last number is %d\n",num);
        return 0;
}
Please enter three number:
2014 2015 2016
The last number is 2016

2014 2015 不會被輸入,並且num的取值又只能是被輸入的第三個整形資料,若只輸入一個數據,num預設位0。

4 .

關於scanf()的返回值


scanf() 函式返回成功讀入的專案的個數。如果它沒有讀取任何專案(比如它期望接收一個數字而您卻輸入的一個非數字字元時就會發生這種情況),scanf()返回0。
當它檢測到“檔案末尾”(end of file)時,它返回EOF(EOF在是檔案stdio.h中的定義好的一個特殊值,一般,#define指令將EOF的值定義為-1)。