我已经对字节序及其在C语言中的作用进行了一些阅读,但没有什么能真正为我澄清这一点.我刚开始使用C,我看到了这个例子:
#include <stdio.h>
int main(void) {
int x = 017;
int y = 12;
int diff = x - y;
printf("diff is %d\n", diff);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它询问会打印什么.我编译和运行的例子,得到了差异为3,那么x是15.我有点看这是为什么,但真的很感激,如果有人真的澄清对我来说.
[1]我已经找到了类似的问题,但没有找到任何彻底解释这个问题的问题.如果有人可以将我与一个也很好的人联系起来.
使用前缀加号0将告诉编译器将其标记为八进制数(基数为8)
就像前缀一样0x会告诉它使用hex(base 16)
例如:
int x = 05; // 5 in octal
int y = 5; // 5 in decimal
int z = 0x5; // 5 in hex
Run Code Online (Sandbox Code Playgroud)