鱼C论坛

 找回密码
 立即注册
查看: 767|回复: 8

[已解决]新手上路,小白求助

[复制链接]
发表于 2020-4-24 14:45:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
请问各位大神,如何理解C语言将字符常量视为int类型而非char类型?
是因为字符常量有其对应的ascii编码么?
如果是这样的话,请问char类型是什么类型?
一个字节么?
如果方便的话能不能稍微举例说一下,谢谢各位!
最佳答案
2020-4-24 15:12:31
有些东西到了一个限度就不要再分了
就好像 分子是保持物质属性的最小单位,如果你再分下去,有原子、有夸克,但这个都已经让你愿意为的物质失去了“物”的概念了
char类型就是char 类型,你要纠结它是数还是啥呢?
对C而言,什么不是数?
或者说,对计算机而言,它只认识通电(1)不通电(0)的二进制
是不是还要问char类型与二进制有啥关系呢?
其实你现在的状态只要到知道就行了,char a='A', 你会发现我如果printf("%d",a),怎么还会返回65呢,可这又如何?记住就行了,再过几天、几个月知识储备多了,再看,或许就明白了其中的道理了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-24 15:00:02 | 显示全部楼层
ASCII码中,每个字符都对应一个数字
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 15:03:26 | 显示全部楼层
char占一个字节,共八位,以二进制数字表示
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 15:05:35 | 显示全部楼层
char 是字符·
ASCII 码可以百度一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 15:12:31 | 显示全部楼层    本楼为最佳答案   
有些东西到了一个限度就不要再分了
就好像 分子是保持物质属性的最小单位,如果你再分下去,有原子、有夸克,但这个都已经让你愿意为的物质失去了“物”的概念了
char类型就是char 类型,你要纠结它是数还是啥呢?
对C而言,什么不是数?
或者说,对计算机而言,它只认识通电(1)不通电(0)的二进制
是不是还要问char类型与二进制有啥关系呢?
其实你现在的状态只要到知道就行了,char a='A', 你会发现我如果printf("%d",a),怎么还会返回65呢,可这又如何?记住就行了,再过几天、几个月知识储备多了,再看,或许就明白了其中的道理了

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 15:29:52 | 显示全部楼层
char就是数字,8位的那种
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 16:27:53 | 显示全部楼层
Hello. 发表于 2020-4-24 15:00
ASCII码中,每个字符都对应一个数字

好的!谢谢你的解答!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-24 16:28:59 | 显示全部楼层
4goodworld 发表于 2020-4-24 15:12
有些东西到了一个限度就不要再分了
就好像 分子是保持物质属性的最小单位,如果你再分下去,有原子、有夸 ...

好的,谢谢你的耐心解释!谢谢!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-24 17:07:28 From FishC Mobile | 显示全部楼层
本帖最后由 倒戈卸甲 于 2020-4-24 17:38 编辑

我怎么觉得楼上都在拿你寻开心。。。。
char类型在C语言中是定义非常严格的一个字节的数据类型,在各个标准下char类型都是一个字节。
其定义为8位二进制编码,转换成数值0到255,转化成符号,就是你英文输入法下键盘上按键敲一下能出的东西。
字符常量一方面其最大长度为四个字节,另一方面,在编译时会当做一个int型数值来处理。
这些其实打开你的编译器一试便知,'1234','ghsh'或者'56aQ'之类的编译器都会告诉你是字符常量,用调试工具也能看到其对应的int值,如果你编译器够先进,鼠标在这些常量上一停放就能看到对应的数值。一二三个字节的字符常量都给你通过,但'00000'五个字节立马报错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-14 20:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表