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 在这两种情况下都适合将数字读为八进制。


相关文章