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

相关推荐

牛客刘北:如果暑期实习是27届的话,你要晚一年才会毕业,企业为什么会等你呢?要搞清时间逻辑呀!27届现在实习只能是在暑假实习,这是日常实习,不是暑期实习。所以多去投日常实习吧,暑期实习肯定不会要你的
点赞 评论 收藏
分享
企业都这么缺人了吗?缺人为什么还给白菜价!
真起不了响亮的名字:我给你出个主意,把公司报出来,让牛友去投,岂不美哉
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务