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码。
本文探讨C语言中将数字和数字字符输入char型变量的情况。展示三种输入情况及结果,归纳得出:scanf(“%c”,&a)输入9相当于输入字符9;数字9无ASCII码,给char型输数字时其类似int型;正常输入字符会将其ASCII码赋予变量。
4277





