C语言中字符采用ASCII码值存储不会和数值型数据冲突吗?
发布网友
发布时间:2024-10-24 02:56
我来回答
共2个回答
热心网友
时间:2024-11-01 23:16
不会冲突的,字符"a"的ASCII码为97,那在计算机里b和c的值是一样的。
只不过是输出时的类型不一样。
热心网友
时间:2024-11-01 23:14
就你的程序来讲,b,c是完全一模一样的!!!
注意你要写成
char b='a';//这里应该用单引号,因为b是字符型
计算机里用来存储数据所用的方式就是二进制码,而类型这东西其实只是对于程序来讲的,不是对电脑来讲的。
比如97在电脑里就是1100001,电脑通过运算器认为它是97这个数,而你通过ASCII码对照表认为它是'a',那我也可以通过我自己的表当它是'b',甚至只需要写一个小小的汇编程序就能在内存层次将其转换。只不过ASCII被人们通用,造成了你认识上的假相。
再比方说有一个四字节的数据,你可以当作是一个长整型,也可以当作两个短整型。当你掌握读取内存的方法(指针)时,你就会意识到,所有变量都是一样的……