c++输出一些指定ASCII码的字符

使用的是vs2010
C++

在使用如下代码时,程序陷入死循环。请大佬们解答下

char a;//定义字符a
	for (a = 32; a <= 127; a++)//从ASCII为32开始到127,
        {
		cout << a << "  ";
	}

运行结果如图
运行结果如图

逐步调试时发现,当a从127到128时,发生了异常,如图

图片说明

图片说明

换成下面代码就啥事没有了

    char a;
	for (int aa = 32; aa <= 127; aa++)
	{
		a = aa;
		cout << a << "  ";
	}

求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解求解

#C/C++#
全部评论
第一个你应该执行a++了,但是char范围是-128~127所以输出-128?
点赞 回复 分享
发布于 2019-03-20 23:35
因为第一种你定义的是char直接进行循环,而char的范围是-128-127.当loop为127时,自增就变为-128,所以程序死循环
点赞 回复 分享
发布于 2019-03-20 23:35
你把第二个aa改成char,会是怎么样的?
点赞 回复 分享
发布于 2019-03-21 00:39

相关推荐

10-11 17:45
门头沟学院 Java
走吗:别怕 我以前也是这么认为 虽然一面就挂 但是颇有收获!
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务