C++的char和int有什么区别,求简单明了的解答

今天老师讲的太术语化了,没听懂
举个例子,在输入代码的时候可以输char a,b;也可以输入int a,b;
求大神们简单的通俗的语言来解答一下

第1个回答  2014-10-28
通俗的话,int就是整数,正的负的整数。
char就是字符,占一位,并且用单引号括起来。
比如 'a' 表示字母a,' '表示空格,';'表示分号。
还有一些特殊的“不可显示字符",要在前面加一个’\’表示,比如'\n'表示换行
第2个回答  推荐于2016-02-22
char是字符型变量,int是整型变量。
int定义的变量只能是整数。例如int a=3,b=4;而int a = 2.5与int a = ‘s' 都是错误的。
char定义的变量是字符型。例如char a = ’a',b=‘s’;本回答被提问者采纳
第3个回答  2014-10-28


int是整型,就是我们平常说的12345这些数字。
char是字符型,就是我们平时说的a,b,c,d这些。
char a,b和int a,b中的a,b只是变量名,就是给这些东西起个代号。

比如人和猪是两个类型,小明可以指的是人,也可以指的是猪,这只是个代号。

注意的是int型的变量赋值只能用数字。追问

谢谢,只能采纳一个答案,我就采纳了第一个,你的答案也很棒的,真心感谢你!!

第4个回答  2014-10-28
char has been reinterpreted as a single Character, not the same as byte.
When getting input, char can only match one char such as 'a', 'b', '1', 'c'.
int is treated as a number, so when getting input, int will get char-sequence and try to translate to a number, such as a char sequence like '1', '2', '3' ' ' will be merge to a number 123 to a int, and '1','2','a',' ' will get an error as it can't be translate to int...
第5个回答  2014-10-28
字符'0'的ASCII码为48,然后是'1' '2' '3' ... '9'

字符' '(空格)的ASCII码为32.

字符'A'的ASCII码为65,然后是'B' 'C' ... 'Z'

字符'a'的ASCII码为97,然后是'b' 'c' ... 'z'

所以,把一个数字字符ch,转为一个整数,就是ch-'0'当然ch-48也行

因为C和C++中,字符和整型是一样的,可以隐式转换