C语言——将数字和数字字符输入给char型变量会如何
char型是字符型变量,而且其存储的内容往往是字符的ASCII码,那么如果将数字赋值给它会如何?与将数字字符赋值给它有何区别?
下面展示三种输入情况及其结果
第一种:
结果:
输出9
第二种:
结果:
输出57 57是字符9对应的十进制ASCII码值
第三种:
结果:
依然输出57
归纳总结:
1.scanf(“%c”,&a)的形式输入9 哪怕键盘上只输入了9 没有加‘’ 仍然相当于输入字符9。
2. 数字9是没有ascii码的 所以给char型变量输入数字时,相当于char型已经变成了
Int 类型 输出也完全可以用%d正常输出。
但是注意 如果把浮点数赋值给char型 再用%f输出会发生错误
char型变量 只能和 int 型变量在有限范围内 共通!!!
3.但正常情况下说“char型变量存放的是ascii码”是对的!如果正常输入字符9,那么就将字符9的ascii码值赋予给了a,而%d是按照十进制输出 所以最后输出的是字符9的十进制ascii码。