首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

char和int的关系有关问题

2012-10-05 
char和int的关系问题要求输出ASCII码为32~127的对应字符。[codeC/C++][/code]void main(){int c//声明为i

char和int的关系问题
要求输出ASCII码为32~127的对应字符。
[code=C/C++][/code]
void main()
{
int c;//声明为int型

for (c=32; c<128; c++)
{ cout << (char)c; }//强制转换为char型
cout << endl;
}

[code=C/C++][/code]
void main()
{
char c;//声明为char型

for (c=32; c<128; c++)
{ cout << c; }//本身已是char型
cout << endl;
}
上面的可以两个方法,只有第一种是有正常输出的。我不理解char和int的关系,最好具体针对这里的程序解释解释。
谢谢~~

[解决办法]

探讨

128的时候就成负数-128了.
然后又-127,-126,永远都小于128了。

[解决办法]
32位 int类型,4个字节;char 占8个字节,当char的值到了128时,8位已经不够存了,就截断了,所以它的值永远小于128.
[解决办法]
char 如果是 signed char 就死循环 
char 如果是 unsigned char 就没事 
char是哪一种呢 ???
无解 和 编译器相关 有的编译器是前者 有的编译器是后者
[解决办法]
char型在编译器里面直接对应ASCII码,每一一个ASCII码都有一个数字代号,当你把一个32———127的数字强制转换成char型的时候就变成了ASCII码的代号,这样就输出的是ASCII码了。

热点排行