试图显示一个编号的网格,陷入无限循环
Trying to display a numbered grid, stuck in an infinite loop
我对C++和编程都很陌生,除了获得一行输入并将其打印到屏幕上。(我在Alex Allain的《跳进C++》中工作。)我试图打印出一个简单的3x3网格,每个正方形都有编号(TicTacToe板)。但在一个无限循环中,我被困在了1。我确信这个问题非常简单,可能对每个读到这篇文章的人来说都很明显,但我就是看不出来
这是我的代码,提前感谢您的帮助:
int main()
{
for ( int i = 1; i < 10; i++ )
{
cout << "_____________n";
while ( i <= 3 )
{
cout << "| " << i <<" |";
}
cout << "n";
cout << "|---|---|---|n";
while ( i > 3 && i <= 6)
{
cout << "| " << i <<".|";
}
cout << "/n";
cout << "|---|---|---|n";
while ( i > 6 && i <= 9)
{
cout << "| " << i <<".|";
}
cout << "|___|___|___|n";
cout << "n";
}
}
首先你有了外循环
for ( int i = 1; i < 10; i++ )
然后你有一个内环
while ( i <= 3 )
然而,当您到达该内部循环时,第一次i
将是1
,并且它在内部循环中永远不会改变,因此表达式i <= 3
将始终为true,因此您有一个无限循环。
使用if而不是while。你没有在这些循环中增加任何东西。
您尝试过使用内部for循环吗?
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
// print your stuff here
}
// new line comes here
}
"while"是一个循环结构,而不是只是一个分支指令。把你的"while"语句改为"if",你就应该没事了。
相关文章:
- 过载'operator new'如何导致无限循环?
- C++正则表达式无限循环
- 程序在尝试猜测它选择的随机数时进入无限循环?
- 遍历链表时的无限循环
- 循环链表:无限循环
- 比较两个字符串后卡在无限循环中
- 在做一段时间内检查字符的无限循环
- 逐字读取文本文件中的每一行并转换为 int(无限循环或崩溃?
- 在这个无限循环中,当输入 0 时终止,当输入 int 范围之外的任何内容时,程序行为不正常
- 可能的无限循环
- 超出 int 的值范围后的无限循环
- 为什么这段代码会导致无限循环?
- 运行无限循环的最小二叉树问题
- 在分配和发布递增循环迭代器时C++无限循环(gcc 错误?
- 连接线程时的无限循环
- 为什么这种方法会进入无限循环?
- 由于QTextStream的无限循环
- Qt 在另一个线程中无限循环
- 从文件 C++ 读取时的无限循环
- 试图显示一个编号的网格,陷入无限循环