你也在纠结八进制 前面是0 还是o吗?
在网上找了半天,八进制前面是字母o还是数字0,回答的也不一,最终有个答案还是比较靠谱的如下:
1:在平时的书写的时候,八进制前面加0表示这个数是八进制,如 int a=034;(此时为数字0)
2:但是在程序中如果要输出八进制却用%o或%O 如:a=9;printf("%o",a);(此时为字母o)输出的结果就会变为11,如果是printf("%#o",在输出的时候就会加上那个前缀0,
一个例子更好的说明
如果真的以O开头表示一个数字,看下面一段代码
int o123;(没问题,标识符字母开头,包含字母数字)
int a = o123; (如果为字母o,那是把变量赋值给a呢,还是八进制123赋值给a, )
歧义了。结果还是很明显,靠谱.....
那你是个细心的人 renxiaolin 发表于 2017-2-7 12:18
那你是个细心的人
{:smile:} 很少用8进制,一般用10进制和16进制...... 数字开头的是数字,字母 下划线 问号 开头的才能当变量。
数字有很多种,比如 0ULL也是数字,0x33也是数字。 八进制,Octal,缩写OCT或O。
肯定是O啊
而且正常写十六进制数的时候也是10H,不是H10嘛
页:
[1]