1. 程式人生 > >零基礎學C語言 筆記二 scanf

零基礎學C語言 筆記二 scanf

今天,我們接著來寫寫C語言的表示式,首先我們看看scanf函式的使用:

scanf函式的使用:

語法:scanf(”格式字串”,變數的地址)。那麼格式字串包含佔位符。 那麼何為佔位符呢?佔位符的意思就是列印到這個地方的時候,不要原樣輸出,而是要讓變數的值填充過去。這個在我們的printf中也是一樣的,上一篇部落格已經介紹了printf的使用,稍後我們繼續來用printf與scanf做比較。 我們先來看一個程式碼,進而分析scanf函式的應用:
//scanf 函式的使用及注意點

#include <stdio.h>

int main(int argc, const char * argv[]) {
    printf("請輸入兩個數字:\n");
    int num1,num2,result;
    scanf("%d%d",&num1,&num2);
    result=num1+num2;
    printf("這兩個數的和是:%d\n",result);
    return 0;
}
我們看一下輸出的結果: 那麼我們就如此的簡單的使用scanf來接受了使用者的輸入並且進行了運算。但是裡面還有很多我們需要注意的內容: 1、scanf函式是一個阻塞式的函式,當CPU執行到scanf函式的時候。就會停下來,接受使用者的輸入,回車表示使用者輸入完畢。 2、輸入兩個值的時候,中間用空格、回車、tab鍵隔開 3、兩個佔位符之間不要隔開 4、多個佔位符中間,用的什麼符號,那麼輸入值的時候,多個值中間就應該用什麼符號隔開 5、scanf函式輸入多個字元的時候,不會忽略空格 回車 tab 6、scanf取值原理:使用者從控制檯輸入的資料會先放在緩衝區當中,變數的取值是從緩衝區中取的資料 7、scanf函式 給變數賦值,不是直接交給變數,而是先去看看緩衝區中有沒有資料,如果有資料,就直接拿緩衝區中的資料,如果緩衝區中沒有資料 那麼才會讓使用者輸入資料,使用者輸入的所有資料都會放到緩衝區中,包括回車、 空格、tab
8、在用scanf函式接收字元賦值的時候,之前,如果把緩衝區裡面的資料都清空掉,那麼就會讓使用者輸入了
不然就有可能賦 緩衝區 當中的 已經存在的值 回車 空格 tab
我們接下來看一下printf與scanf的區別: 1、寫法一樣,意義不同。 printf佔位符:把這個變數以當前這個格式型別輸出。printf函式輸出的時候,我們喜歡加\n換行。 scanf佔位符,接受一個這個型別的值,交給我們的變數。不能加\n。 2、 printf函式,輸出的是變數的值,直接用變數名稱就OK scanf函式,實際上是給記憶體中的那一塊空間賦值,所以要用&找到這個變數所在的那一塊空間