[英]Why is %c used in C?
根據K&R C部分1.6, char
是一種整數。 那么為什么我們需要%c
。 為什么我們不能將%d
用於一切?
因為%d
將打印char
的數字字符代碼:
printf("%d", 'a');
打印97
(在ASCII系統上),而
printf("%c", 'a');
打印a
。
雖然它是一個整數,但%c
將其數值解釋為顯示的字符值。 例如對於角色a
:
如果你使用%d
你會得到一個整數,例如97,字符a
的內部表示
VS
使用%c
顯示字符' a
'本身(如果使用ASCII)
即,這是內部表示與外部目的解釋的問題(例如使用printf
)
粗略地說, %c
打印字符的ASCII表示。 %d
打印其十進制值。
如果使用%c
,則會打印(或掃描)字符或字符。 如果使用%d
,則會打印(或掃描)整數。
printf("%d", 0x70);
機器如何知道您想要輸出一個字符,而不是它的等效ASCII值?
%d認為char是32位並打印它像一個整數,但%c將char的int值轉換為ascii字符然后打印它。
%d
用於打印decimal(integer)
數字,而%c
用於打印character
。如果您嘗試打印%d
格式的字符,計算機將打印該ASCII
代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.