当前位置: 代码迷 >> C语言 >> 请教一个问题
  详细解决方案

请教一个问题

热度:147   发布时间:2005-10-23 17:38:00.0
请教一个问题
输入i1,i2的值为 -132 和 1000
#include <iostream.h>
int main()
{
char c1,c2;
int i1,i2;
cout<<"请输入两个整数i1,i2:";
  cin>>i1>>i2;
c1=i1;
c2=i2;
cout<<"按字符输出结果为:"<<c1<<','<<c2<<endl;
return 0;
}

计算结果是 字符对应ASCII的是 c1=124  c2=(-24)  正确算得256-24=232
但是字符显示的  c1=124是正确的  c2=063 是一个?号了

如何求解C2
----------------解决方案--------------------------------------------------------
请学长帮忙教我下
----------------解决方案--------------------------------------------------------
请您告诉我char 是几个字节的?char型数据最大值是多少?最小值是多少?什么叫溢出?
----------------解决方案--------------------------------------------------------
char 是1个字节  char 数据最大值是 256个  最小值是0
1000-256=744-256=488-256=232

232属于字符范围内的, 232是我人工算出来值 对应的字符"我打不出来"

但是关键在于 232既然没有益出 那么 我上验证的时候 计算机算出来 字符结果是'?'
在字符数据表中 '?'=063  
我想请教的是 232既然没益出 那么也不应该等于 063这个字符

如果是063 那一定我理解算法错了 请指点!
----------------解决方案--------------------------------------------------------
  相关解决方案