首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么每当我打印C++代码的字符时,终端都会发出蜂鸣声?

问为什么每当我打印C++代码的字符时,终端都会发出蜂鸣声?
EN

Stack Overflow用户
提问于 2021-08-21 15:07:57
回答 1查看 101关注 0票数 0

我是一个用C++编程的初学者。最近,在我的C++书中有一个快速练习,可以将一组字符从a打印到z。我在Visual Studio 2019中输入了以下代码。

代码语言:javascript
复制
char alphabet = 0;
    
while (alphabet < 130)
{
    cout << char(alphabet + 1)<<"\n";
    ++alphabet;
}

我可以理解为什么我的代码打印奇怪的字符和符号,因为我选择了值从1到130的ASCII字符。然而,真正的问题是,我的终端每次都会发出蜂鸣声,即使在打印完所有字符之后也是如此。我知道嘟嘟声是ASCII字符集的一部分,但它只是字符7。但在我的例子中,终端不断地发出嘟嘟声,直到我从任务管理器中删除可执行文件。请告诉我为什么会有这样的问题,请不要有问题说,这段代码是打印超过a到z。我只是选择了一个随机数,这样我就可以在终端中获得字符a到z。我在Windows7上运行这段代码,所以如果操作系统对它有影响,请告诉我。

EN

回答 1

Stack Overflow用户

发布于 2021-08-21 15:19:27

这种情况

代码语言:javascript
复制
while (alphabet < 130)

始终计算为true,因为char类型的范围通常为-128,127。当alphabet的值为127并递增1时,它将取整并具有值-128。因此,您的程序试图以某种方式打印所有这些值。正数对应于ASCII值,其中值7指示终端发出蜂鸣声。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68874212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档