2015-09-18 48 views
1

test.c的...困惑termios.h常数

#include <termios.h> 
#include <stdio.h> 

int main() { 
    printf("%x\n",B600); 
} 

在我的系统中,这版画 “8”。

海合会-M test.c的显示

/usr/include/stdc-predef.h /usr/include/termios.h \ 
/usr/include/features.h /usr/include/x86_64-linux-gnu/sys/cdefs.h \ 
/usr/include/x86_64-linux-gnu/bits/wordsize.h \ 
/usr/include/x86_64-linux-gnu/gnu/stubs.h \ 
/usr/include/x86_64-linux-gnu/gnu/stubs-64.h \ 
/usr/include/x86_64-linux-gnu/bits/types.h \ 
/usr/include/x86_64-linux-gnu/bits/typesizes.h \ 
/usr/include/x86_64-linux-gnu/bits/termios.h \ 
/usr/include/x86_64-linux-gnu/sys/ttydefaults.h /usr/include/stdio.h \ 
/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stddef.h /usr/include/libio.h \ 
/usr/include/_G_config.h /usr/include/wchar.h \ 
/usr/lib/gcc/x86_64-linux-gnu/4.9/include/stdarg.h \ 
/usr/include/x86_64-linux-gnu/bits/stdio_lim.h \ 
/usr/include/x86_64-linux-gnu/bits/sys_errlist.h 

内/usr/include/x86_64-linux-gnu/bits/termios.h的:

#define B600 0000010 

另一头都没有B600的定义。 8的价值从哪里来?

回答

4

在C中,开头的零的数字面被解释为一个八进制数,所以010装置10在八进制,因此8.

+1

八进制,即在给予保持礼物... – EOF