2

Possible Duplicate:
Difference between format specifiers %i and %d in printf

This question is motivated by the fact I use to see this preference in all the C code I've read.

4

3 回答 3

3
%d and %i

在 printf 中表示相同,即 int;有符号十进制表示法,但在 scanf 中

%d 表示十进制整数,int * 和 %i 表示整数;int * 整数可以是八进制(前导 0)或十六进制(前导 0x)。

于 2012-07-07T17:17:24.743 回答
0

id转换说明符对于 是等价的,fprintf但对于fscanf.

两者id存在于所有 C 标准(C89、C90、C11)中。

di我更喜欢使用dfor更常见fprintf

于 2012-07-07T17:14:06.493 回答
0

据我了解, %d 表示以 10 为底(d 表示 DECImal),而 i 是灵活的(您可以使用修饰符来表示八进制或十六进制)。所以,如果你不想考虑它,你应该使用 d,并且你总是想要 base-10

于 2012-07-07T17:15:17.690 回答