printf 函式中p 是什麼意思

2021-12-22 19:52:55 字數 3538 閱讀 8126

1樓:決勝千

%p 表示輸出的結果是 指標

樓上好像說錯了,%x不是地址

給你個詳細的吧!

printf:

轉換說明符

%a 浮點數、十六進位制數字和p-計數法(c99)%a 浮點數、十六進位制數字和p-計數法(c99)%c 一個字元

%d 有符號十進位制整數

%e 浮點數、e-計數法

%e 浮點數、e-計數法

%f 浮點數、十進位制計數法

%g 根據數值型別不同自動選擇%f或%e。

%e 格式在指數小於-4或者大於等於精度時使用%g 根據數值型別不同自動選擇%f或%e。

%e 格式在指數小於-4或者大於等於精度時使用%i 有符號十進位制整數(與%d相同)

%o 無符號八進位制整數

%p 指標

%s 字串

%u 無符號十進位制整數

%x 使用十六進位制數字0f的無符號十六進位制整數%x 使用十六進位制數字0f的無符號十六進位制整數%% 列印一個百分號

2樓:

%p 表示輸出的結果是 指標

詳細如下

printf: 轉換說明符

%a 浮點數、十六進位制數字和p-計數法(c99)%a 浮點數、十六進位制數字和p-計數法(c99)%c 一個字元

%d 有符號十進位制整數

%e 浮點數、e-計數法

%e 浮點數、e-計數法

%f 浮點數、十進位制計數法

%g 根據數值型別不同自動選擇%f或%e。

%e 格式在指數小於-4或者大於等於精度時使用%g 根據數值型別不同自動選擇%f或%e。

%e 格式在指數小於-4或者大於等於精度時使用%i 有符號十進位制整數(與%d相同)

%o 無符號八進位制整數

%p 指標

%s 字串

%u 無符號十進位制整數

%x 使用十六進位制數字0f的無符號十六進位制整數%x 使用十六進位制數字0f的無符號十六進位制整數%% 列印一個百分號

3樓:匿名使用者

%p是pointer就是指標

打出來格式和地址(%x)一樣,就是hex decimal

4樓:匿名使用者

沒有這個吧……%g我知道……

c語言中%p是什麼意思?

5樓:人設不能崩無限

格式控制符「%p」中的p是pointer(指標)的縮寫。指標的值是語言實現(編譯程式)相關的,但幾乎所有實現中,指標的值都是一個表示地址空間中某個儲存器單元的整數。printf函式族中對於%p一般以十六進位制整數方式輸出指標的值,附加字首0x。

%p是列印地址的, %x是以十六進位制形式列印, 完全不同!另外在64位下結果會不一樣, 所以列印指標老老實實用%p 。

6樓:匿名使用者

c語言中%p用來輸出指標型別自身的值。

也就是說 %p用來輸出地址。

一、使用方法:

%p一般僅用於printf及同類函式中。形式為printf("%p", varp);

其中後續引數varp為某一個指標變數。如

int a,*p;

p=&a;

printf("%p %p", p, &a);

這裡輸出的p和&a都是int*型。

二、功能:

%p格式符會輸出指標本身的值,也就是指標指向的地址值。

該輸出為16進位制形式,具體輸出值取決於指標指向的實際地址值。

三、與%x區別:

%x同樣輸出16進位制形式,不過%x對應的是int型,也就是說,其輸出長度與系統int型佔的位元組數相等。如32位編譯器,int型佔4位位元組,那麼%x輸出的結果最多為16個16進位制字元。

而%p輸出寬度取決於系統地址匯流排位數,即16位最多輸出4位16進位制字元,32位最多輸出8位16進位制字元,64位最多輸出16位16進位制字元。

所以用%p輸出地址,相對於用%x輸出,可以有更好的移植型和適應性,不會因為更換平臺而引起錯誤。

7樓:手機使用者

以16進位制輸出指標記憶體儲的地址

%hd: 輸出short型別變數

c語言%p的含義

8樓:

%p表示輸出這個指標。更具體用法可參考百度百科的詞條printf

printf

功 能:

產生格式化輸出的函式

用 法:

int printf(const char *format,[argument]);

format 引數輸出的格式,定義格式為:

%[flags][width][.perc] [f|n|h|l]type

(中的內容表示是可根據實際需要選擇的,實際使用時不用加,type即是你看到的%p對應的p)

規定資料輸出方式,具體如下:

1.type 含義如下:

d 有符號10進位制整數

i 有符號10進位制整數

o 有符號8進位制整數

u 無符號10進位制整數

x 無符號的16進位制數字,並以小寫abcdef表示

x 無符號的16進位制數字,並以大寫abcdef表示

f/f 浮點數

e/e 用科學表示格式的浮點數

g 使用%f和%e表示中的總的位數表示最短的來表示浮點數 g 同g格式,但表示為指數

c 單個字元

s 字串

% 顯示百分號本身

p 顯示一個指標,near指標表示為:***x

far 指標表示為:***x:yyyy

n 相連參量應是一個指標,其中存放已寫字元的個數

9樓:匿名使用者

這裡的%p跟%x不一樣的,%x表示輸出的值為十六進位制的意思,%p是指向變數的地址,

10樓:曹糯糯

%p 表示pointer address 格式為 0000:0000 16進製表示中間用冒號隔開

%x只是輸出16進位制數,沒有分隔符

11樓:匿名使用者

%d %i decimal signed integer.

%o octal integer.

%x %x hex integer.

%u unsigned integer.

%c character.

%s string. see below.

%f double

%e %e double.

%g %g double.

%p pointer.

%n number of characters written by this printf.

no argument expected.

%% %. no argument expected.

p 顯示一個指

針,near指標表示為:***x

far 指標表示為:***x:yyyy

printf03fn,get是什麼意思

把變數get的值以單精度浮點小數的形式輸出,右對齊,保留三位小數,輸出後換行 把get的值以三位小數的形式列印出來,列印出來的數與右邊的可能有的列印的出的東西沒有空格,0就是這個意思啊 輸出的浮點型數字保留小數點後3位 get 取三位小數,列印,換行 c語言中printf 5.2f 中的 5.2 是...

函式中Min什麼意思,函式中Min什麼意思

函式中min minimun 最小 的意思,取最小值的意思。min函式是microsoft excel中的公式,可表示為min x,y 0.5 x y x y 作用是返回給定參數列中的最小值。函式引數可以是數字 空白單元格 邏輯值或表示數值的文字串,如果引數中有錯誤值或無法轉換成數值的文字時,將引起...

c中行內函數是什麼意思C中行內函數是什麼意思?

行內函數具有一般函式的特性,它與一般函式所不同之處只在於函式呼叫的處理。一般函式進行呼叫時,要將程式執行權轉到被呼叫函式中,然後再返回到呼叫它的函式中 而行內函數在呼叫時,是將呼叫表示式用行內函數體來替換。在使用行內函數時,應注意如下幾點 1.在行內函數內不允許用迴圈語句和開關語句。如果行內函數有這...