IOS之C語言 3Scanf函式

2021-07-30 14:53:48 字數 1098 閱讀 3076

一、變數的記憶體分析

(一)位元組與位址

①. 記憶體以位元組為單位 每個位元組都有自己的記憶體位址,根據位址就可以找到該位元組。整個記憶體相當於一整個酒店,而酒店以房間為單位,在這裡每個房間就相當於是每個位元組,位址就是房號,根據房號可以找到房間(根據位址也可以找到記憶體中的位元組)。相鄰房間的房號是連續的,相鄰位元組的位址也是連續的。計算機中通常以十六進製制表示位址。

②. 不同型別占用的位元組是不一樣的,資料越大則占用的位元組數越多。如在64位編譯器下,int型別佔據4個位元組,char型別佔據1個位元組。

(二)變數的儲存

重點:記憶體定址由大到小,優先分配記憶體位址較大的位元組給變數,所以一般而言越先定義的變數,其記憶體位址越大。

假設:int a=1;int b=2;下面是對其進行的模擬記憶體分析。

&是取址運算子,用來獲取位址。

%p這個佔位符用來輸出位址。

未經初始化的變數,它的值是不確定的,而c語言是弱型別的語言,如果不對乙個變數進行初始化並不會報錯,所以提醒變數在使用之前一定要進行初始化。

二、scanf函式

(一)基本介紹

scanf是系統自帶的函式,宣告包含在stdio.h檔案中,因此要是有該函式,必須載入#include標頭檔案。當執行到scanf函式時,程式就暫停等待使用者輸入,該函式只接受變數的位址,格式為&變數名。是乙個阻塞式的函式,2使用者輸入完畢後,則將值賦值給變數,至此函式呼叫完畢。敲回車鍵告知計算機鍵入完畢。

(二)使用注意

①. 使用scanf函式輸入乙個字元變數。char a; scanf(「%c」,&a);

②. 同時輸入多個值。scanf(「%d,%d」,&num1,num2); 

③. scanf(「%d\n」,&a);//在內部不能使用\n轉義字元,否則沒完沒了。

注意:在這裡兩個佔位符之間是,隔開,則要求在輸入時也使用逗號隔開如輸入1,2。此時為num1=1,num2=2。若內部為「%d#%d」則輸入1#2。若內部為「%dy%d」,則輸入1y2。如果中間的字元是空格,則在輸入時可以用空格隔開,也可以敲tab鍵或者是回車鍵作為分隔符隔開,後兩者可以看做是由空格組成的。

C語言教程 四 3 scanf的用法

scanf作為c語言標準函式庫中的格式化輸入函式,大家對它常規的使用應該都很明白,接收控制的格式除了常用的 d,c,f等以外,我們今天重點講解 在scanf中的用法和scanf的返回值的用法兩點。第乙個,的用法,表示接收讀取但不存對應的指定的型別資料。舉個例子 1 inta,b 2 scanf d ...

C語言 scanf 函式

scanf 函式是用來從外部輸入裝置向計算機主機輸入資料的。scanf 函式的一般格式 案例 已知圓柱體的底半徑radius 1.5,高high 2.0,求其體積。main 案例 已知圓柱體的底半徑為radius,高為high,求其體積。功能 說明函式scanf 的格式及作用。main 程式執行結果...

C語言scanf函式

四 注意事項 編寫程式的主要目的就是為了處理資料。資料從 來?資料的 有很多種方式,如從磁碟檔案中讀取資料 從資料庫中讀取資料 從網頁中抓取資料等,還有一種原始的方式就是從鍵盤輸入資料。在c語言中,有三個函式可以從鍵盤獲得使用者輸入。getchar 輸入單個字元,儲存到字元變數中。gets 輸入一行...