gpt4 book ai didi

c - 为什么C程序中int 070的输出是56?

转载 作者:行者123 更新时间:2023-11-30 18:16:21 24 4
gpt4 key购买 nike

你能解释一下吗?为什么它给出 56 值作为输出?

#include <stdio.h> 
#include <conio.h>

void main()
{
int x = 070;
printf("%d", x);
getch();
}

最佳答案

任何以 0 开头的整数文字(整数常量)都是 octal representation .

引用 C11,第 §6.4.4.1 章,整数常量

octal-constant:

 0
octal-constant octal-digit

octal-digit: one of

  0 1 2 3 4 5 6 7

并且,根据第 §7.21.6.1 章,对于带有 printf()%d 格式说明符,(强调我的)

d,i The int argument is converted to signed decimal [...]

因此,octal 70 == decimal 56 .

关于c - 为什么C程序中int 070的输出是56?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36650007/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com