在C语言里,数字10可以根据需要采用不同进制来表达,常见的包括十进制、八进制和十六进制。虽然写法不一样,但它们最终代表的数值都是十进制的10,只是给编译器看的字面量形式不同。

十进制表示
最直观也是默认的方式就是十进制,直接写数字10即可,不需要任何前缀。
#include <stdio.h>
int main() {
int a = 10; // 十进制直接写10
printf("a=%dn", a);
return 0;
}
八进制表示
C语言中以数字0开头的整数字面量表示八进制。十进制的10等于八进制的12,所以写成012。
#include <stdio.h>
int main() {
int b = 012; // 八进制12,等于十进制10
printf("b=%dn", b);
return 0;
}
十六进制表示
以0x或0X开头表示十六进制,十进制的10对应十六进制的A,因此可写成0xA或0xa。
#include <stdio.h>
int main() {
int c = 0xA; // 十六进制A,等于十进制10
printf("c=%dn", c);
return 0;
}
不同表示方式对比
| 进制类型 | 字面量写法 | 对应十进制值 |
|---|---|---|
| 十进制 | 10 | 10 |
| 八进制 | 012 | 10 |
| 十六进制 | 0xA | 10 |
字符与字符串中的10
如果要在字符里表示ASCII码为10的换行符,可以用n转义字符,或者用八进制转义