感谢评论区的大佬对我的指点,相关错误已修改。
在某种程度上,char 和int 既对立统一。请各位关公大大们就做,下面便是我耍大刀的时候了:
一、对立性
首先请容我结合常、变量讲讲 char 与int 的对立性:
1. 常量
在运行过程中,其值不能被改变的量
(1)int型常量(整形常量)
举例: # define P 10十进制整形常量:其基本数字范围为我们从小所熟悉的 0~9(共10位),如3、231、26等均为10进制整形常量;
(-45:该值可称为整型常量表达式,其以一元运算符 - 和十进制整型常量 45 组成)
八进制整形常量:其基本数字范围为0~7(共8位),且均以数字0为前缀,如014(十进制为12);十六进制整形常量:其基本数字范围为0~9和a~f(共16位,字母也可大写),且均以0X或0x为前缀,如0x2d(十进制为45)、0xf(十进制为15);无二进制整形常量。
(2) char型常量(字符型常量)
举例:const char GRADE = 'A'; //定义一个字符型常量,且赋值为A转义字符也是合法的字符常量。
2. 变量
在运行过程中,其值可以被改变的量
(1) int型变量(整形变量)
举例: int a; //定义一个整形变量aint b = 12; //定义一个整型变量b,且赋值为12
(2)char型变量 (字符型变量)
举例: char n; //定义一个字符型变量na = 'T' ; //将字符T赋值给字符型变量n或char a = 65; //声明char变量a,a的值为'A'(A的ASCII码值为65)
这些是我的理解,希望对大家有所帮助,如果有错误,还请帮我指出,谢谢
二、统一性
让我们先看看下面这个例子:
# include <stdio.h>int main(){int a = '2';printf("%d %c", a, a);return 0;}