C语言中字符与无符号整形有什么哪些区别?

C在实际操作中,除了发现字符在scanf下有时出现问题以外,很多情况下可以通用,用char定义个一个字符,可以用%c来输出,也可以用%d来输入一个整形,定义一个unsigned int整形,可以输出一个整形,也可以用%c输出一个字符,那这样,他们在应用上的主要区别在哪里?或者说char字符定义主要用于在什么地方?

1.字符和整型在内存中都是以二进制储存的,不像实型,他是以指数的形式存储

2.字符型的ASCII码是由0到256的整数表示,每一个字符都对应这相应的ASCII码

以上两点就是字符型和整型可以通用的原因

其实在我眼里,字符和整型几乎没有区别,具体怎么用,要看代码所实现的功能,比如:字符函数就扮演这一个很重要的角色,在某些功能上要优越于scanf、printf这样的函数,用字符去控制或标记某些东西会大大降低问题的难度等等

所以不需要过多追究,视情况而定

如果对你有所帮助,请记得采纳的最佳答案,谢谢!
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-11-14
这个建议你看看c的数据在内存中的存储方式,它是采用补码的形式,例如,在vc中,int分配两个字节,就是16位的二进制数,但它的最高位要用来存储符号,约定1为负,0为正。算算就是-32768~32767了,而unsigned int就是把最高位的也用来存储数,则它的范围是0-65535了,同理,char分一个字符,你自己算算吧
相似回答