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