C 语言中 %d 和 %i 格式说明符之间的区别。
cserver side programmingprogramming更新于 2024/11/16 18:21:00
格式说明符
在 C 编程语言中,%d 和 %i 是格式说明符,其中 %d 指定变量类型为十进制,而 %i 指定变量类型为整数。在使用方面,使用 %d 或 %i 打印数字时,printf() 函数输出没有区别,但使用 scanf 时则会出现差异。scanf() 函数使用 %i 检测基数,但使用 %d 假设基数为 10。
示例 (C)
#include <stdio.h> int main() { int num1 ,num2; int num3, num4; scanf("%i%d",&num1 , &num2); printf("%i\t%d
",num1, num2); num3 = 010; num4 = 010; printf("%i\t%d",num3, num4); return 0; }
输出
32767-498932064 8 8
这里 010 是一个八进制数。 scanf 使用 %d 将数字读为 10,使用 %i 将数字读为 8。printf 在这两种情况下都适合将数字读为八进制。