簡體   English   中英

為什么在C中使用%c?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM