printf函式向終端輸出若干個任意型別的資料。
表示輸出型別的格式字元 格式字元意義
a 浮點數、十六進製制數字和p-計數法(c99)
a 浮點數、十六進製制數字和p-計數法(c99)
c 輸出單個字元
d 以十進位制形式輸出帶符號整數(正數不輸出符號)
e 以指數形式輸出單、雙精度實數
e 以指數形式輸出單、雙精度實數
f 以小數形式輸出單、雙精度實數
g 以%f%e中較短的輸出寬度輸出單、雙精度實數,%e格式在指數小於-4或者大於等於精度時使用
g 以%f%e中較短的輸出寬度輸出單、雙精度實數,%e格式在指數小於-4或者大於等於精度時使用
i 有符號十進位制整數(與%d相同)
o 以八進位制形式輸出無符號整數(不輸出字首o)
p 指標
s 輸出字串
x 以十六進製制形式輸出無符號整數(不輸出字首ox)
x 以十六進製制形式輸出無符號整數(不輸出字首ox)
u 以十進位制形式輸出無符號整數
printf("%d/n" , i);輸出整型變數i;
memcpy函式
原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#include
功能:由src所指記憶體區域複製count個位元組到dest所指記憶體區域。
說明:src和dest所指記憶體區域不能重疊,函式返回指向dest的指標。
引數說明:dest為目的字串,src為源字串,count為要拷貝的位元組數。
函式功能:將字串src中的前count個位元組拷貝到dest中。
#include #includeintmain()
結果:d[0]=1.254340,d[1]=32.432430,d[2]=-11.234320
double型別變數為雙精度變數,佔8個位元組,即64位。預設%f輸出時精確到後6位。
float型別變數為單精度變數,佔4個位元組,即32位。
**中double型別陣列s[3]中有3個double型常量,總共佔24個位元組,memcpy(&d[0],s,24);即將陣列s內容從0位址開始拷貝到陣列d中。
C語言基礎知識
1 的問題。int i 1 int j 2 int k i j printf d k 輸出k為3。編譯原理有關編譯器在詞法解析的時候,對於運算子,總是查詢最大的匹配也就是說,i j,編譯器在找到 的時候,它不立即理解為 而是繼續下乙個字元,下乙個字元仍然是 可以組成 再往下的話便是 不成立了。所以i...
C語言基礎知識
一 位元組對齊 位元組對齊的原因,是機器在訪問記憶體中儲存的資料的高效性。通常機器是機器位數為自然邊界來訪問記憶體的,如果乙個4位元組整形數,所在的記憶體不在虛擬記憶體的自然邊界。則cpu需要讀多於一次的資料,這樣就降低了效率。所以,簡單地說,就是保證cpu指令在訪問資料的時候,能一次讀取,而不需要...
C語言基礎知識
1.進製 1 基數 基數為n,代表n進製 2 位權 從個位開始,向左依次編號為0,1.x 分別代表n進 制的x次 3 八進位制以0開頭,十六進製制以0x開頭 4 x 進製轉 進製 按權求和 十進位制轉 x進製 連除倒取餘 2.基本資料型別 3.常量 程式執行期間值不能被改變的量 分為 整型常量,浮點...