WFU

2021年7月10日 星期六

C語言介紹04 - scanf()

以前講過了printf()的用法,如果忘記了可以看看C語言介紹02 - printf()複習一下。printf()是用來輸出,這次要介紹的是用來輸入的scanf()。

寫法是:scanf(“%d”, &整數變數)

雙引號中要放型態的代號(%d、%f之類的,要跟後方的變數型態一樣喔),而後方放的變數是代表要將使用者輸入的東西放進哪個變數裡,變數前要加上&的符號。

&代表的是「位址運算值」,有點難懂,首先,想像每宣告一個變數,就會創造出一個放變數的小地方,而&加變數就代表著那個變數在的那個地方。

所以,我們要將使用者輸入的內容放進變數在的那個地方,就要在變數前面加上&。以後&也還會有其他用途,現在不懂也沒關係,以後還會再多講一點&的意思和用法。

我們來看看scanf()的用法:
int input;
scanf("%d", &input);
printf("You inputted %d", input);

這段程式會先讓使用者輸入內容(只能是整數,如果使用者輸入不是整數的資料型態就會有error),然後再印出”You inputted 輸入的整數”。

我們也可以用scanf()做個計算機:
float PI = 3.14;
int radius;
float area;
printf("radius:");
scanf("%d", &radius);
area = radius * radius * PI;
printf("area:%.2f", area);

執行完長這樣:

 
這樣我們就做了一個簡單的計算圓面積的程式啦,當使用者輸入圓的半徑,這段程式就會算出那個圓的面積。

小複習:float來宣告變數代表是個浮點數(有小數點),是用%f來當代號,%.2f代表是小數點後只有兩位的數。

scanf()很好用,能讓程式跟使用者更有互動性,可以用它來做出很多小功能,像是樂透之類的,學起來很有用喔!