c++入门程序 找人给看下程序1

来源:百度知道 编辑:UC知道 时间:2024/06/29 00:13:50
#include <iostream>

main(void)

{
unsigned char ASCIIValue=0;

while(ASCIIValue<256)
{std::cout.put(ASCIIValue);
ASCIIValue++;
}

return 0;

这个程序我运行了下,屏幕上满是乱码,请问这乱码是什么,怎么才能正常显示?感激不尽。
while循环在什么条件下会结束?256会对程序有什么影响?

把char 改为int
因为无符号char只能表示0-255
如果再加1,又回到了0,所以永远不会小于256
如果改int 就可以.put可以把int转化为char型
如果你不想改的话就把条件改一下
while(ASCIIValue!=255)也行.
//------------------------------------------
#include <iostream>

int main()

{
unsigned int ASCIIValue=0;

while(ASCIIValue<256)
{
std::cout.put(ASCIIValue);
ASCIIValue++;
}
}
//---------------------------------------------
一楼别误人子弟,二楼说的是对的

char 字符型变量在内存中占用1个字节的存储单元,也就是0-255。
存储字符型数据时,不是把字符本身存放在内存中,而是把字符对应的ASCII码值存放在存储单元中。
当取到256时就变为0,它永远小于256
你定义成unsigned char,不让它取负,你连跳出的机会都没有,会一直打印 ASCII的内容,那个响声也是ASCii码。里面的有一些你都认识,比如:1234567880 ABC等等都是转化ASCii 的,在MSDN里查ASCii都看一下
#include <iostream>

void main(void)

{
char ASCIIValue=0;

while(ASCIIValue<256)
{std::cout.put(ASCIIValue);

ASCIIValue++;
if(ASCIIValue==-1)
break;
}
}

这段