char a ='1'和int a ='1'有什么区别

来源:百度知道 编辑:UC知道 时间:2024/04/29 00:05:16
一个是字符串,一个是整型变量,两个有什么区别
返回值有什么区别没,比如int的是不是返回'1'的ASCII码?

char a占1字节
int a占4字节

char a ='1'
返回字符 1
int a ='1'
返回1的ASC码 为49

值没有区别,而所占内存不一样.
sizeof(char)=1 占一个字节,8位
sizeof(int)=4 占四个字节,32位

以下是证明值没有区别的例子:
int a='1';
char b='1';
printf("%d %c\n",a,a);
printf("%d %c\n",b,b);

输出是:
49 1
49 1

char a ='1'字符变量而不是字符串变量
int a ='1' 整型变量

char a 的值范围为-128~127
int a 的值范围为-2^32 ~2^32-1

啊?返回值???应该是函数说返回值吧!
int和char类型都不一样,一个整型,一个是字符型,占用的字节也不一样! 所以用int代表的是1的ASCII码 也就是49,而用char就代表的是1这个字符

前者char a ='1' 是字符,int a ='1' 是整形变量