摘要:
getchar()函数的返回值赋给char型,用if(ch=getchar() != EOF)测试,输入ctrl+z同样可以结束循环的分析。
char是字符型数据,如果以为0~255共256个字符,但如果赋给char负数,会怎样?
如果将char强制转换为int型,结果又会怎样?
需要清楚一点,在计算机中,不管数据类型是char、int、long、double等,数据都是按照二进制的方式存储的,一般是以补码的形式存储的,这可以通过单步跟踪进行观察验证。char数据也是,比如字符a对应的ASCII码为97,即二进制的0110_0001,那么将97赋给一个char型变量,这个char型变量就是字符a了,操作数对于计算机来说就是对应的二进制数据,计算机可不管你是char型还是int型,这也就是测试1中ch赋值为-128与128时,运行结果完全相同的原因,因为-128与128的8bit表示是一样的,赋给ch之后都是1000_0000。 阅读全文