【发布时间】:2020-02-10 02:03:29
【问题描述】:
当我尝试打印所有 128 个 ASCII 值时,我似乎陷入了无限循环,但我不明白为什么。该问题要求我编写一个程序,该程序使用循环来显示 ASCII 代码 0 到 127 的字符,并在每行显示 16 个字符。我尝试使用 for 循环并告诉程序如果我的 char 变量超过 127 则停止循环,但由于某种原因,我最终得到了一个无限循环。我什至写了一个 if 语句,告诉循环在 char 变量超过 127 时中断,但这似乎也不起作用。这是我的代码,任何反馈将不胜感激,谢谢。
#include <iostream>
using namespace std;
int main() {
char a;
for (char a = 0; a <= 127; a++)
{
cout << a << " ";
if (a % 16 == 0)
cout << endl;
if (a > 127)
break;
}
return 0;
}
【问题讨论】:
-
没关系,但实际上你有 两个
a变量,for语句中的一个会影响另一个。您可能也不想真正打印值0..31或127,它们在ASCII 中是不可打印的。