黑马程序员技术交流社区

标题: 定义一个字符常量的值 问什么用int 不报错 用double肯定错 [打印本页]

作者: 离渊    时间: 2014-3-3 22:21
标题: 定义一个字符常量的值 问什么用int 不报错 用double肯定错
    char(或int都可以) score;
    score = 'a';
    printf("score=%c\n",score);
    return 0;
作者: 离渊    时间: 2014-3-3 22:36
为什么不是只能用char
作者: 脸皮猴    时间: 2014-3-4 08:49
本帖最后由 脸皮猴 于 2014-3-4 12:20 编辑

因为char字符型变量其实存的是这个字符的ascii码.在内存中,是把字符对应的ASCII码值放到存储单元中.所以字符数据和整型数据是可以通用的。而double型变量是浮点型数据,是肯定会报错的。
加油!为进入黑马而努力中!
作者: pprgra56    时间: 2014-3-6 16:32
楼上正解 因为ascII码 是整数 所以 char 和 int 是 可以互换的 但如果 是double 那就不一样了  因为ascII没有 带小数点的 自然也就不知道 那是什么东西了
作者: 牧之    时间: 2014-3-9 20:46
因为每个字符都有对应的ASCII,比如‘A’=65是整型,所以int是可以的,double是浮点型就相当于65.00.....
作者: pprgra56    时间: 2014-3-10 14:23
在计算机中 字符char都是用 ascII码来比如说 ‘a’ 的ascII 码是97  
也就是说 int 型变量 和char型变量 是通用的 double 不行是因为 ascII码
只有整数类型 你输入个带小数点的 计算机自然不知道这是什么了
作者: cnchenys    时间: 2014-3-10 14:30
本帖最后由 cnchenys 于 2014-3-10 14:38 编辑

其实char和int是可以混用的,前提是不超过char的数值范围。 -128-127
作者: conpgy    时间: 2014-3-10 19:17
char其实就是小整型。在表达式就是当做整型使用。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2