嵌套while循环的麻烦

时间:2016-06-22 00:10:23

标签: c++ while-loop square

请帮助我,我使用的是16号代码块,我不知道为什么这段代码不打印正方形,只是一个正方形! 另一件事是我如何改进这段代码? 我还在学习请不要生我的气 非常感谢你的时间

#include <iostream>
using namespace std;
int main () {
    char a = 'a', d = ' ';
    int b = 0, c = 0;

    while (c < 5) {
        cout << a;
        c = c + 1;
    }
    cout << endl;
    c = 0;
    while (c < 3) {
        cout << a;
        while (b < 3) {
            cout << d;
            b = b + 1;
        }
        cout << a << endl;
        c = c + 1;
    }
    c = 0;
    while (c < 5) {
        cout << a;
        c = c + 1;
    }
    cout << endl;
    return 0;
}

2 个答案:

答案 0 :(得分:2)

您忘了将b重新初始化为b

使用0会更容易阅读:

for

答案 1 :(得分:0)

问题是每次循环外循环时都不会重置sender的值。因此,在正方形的第二行(第一行有空格),它工作得很好。但是,在第三行,当您进入内部while循环时,b仍然等于上一次循环中的3。

如果我也可以同时提出建议,请对变量进行有意义的命名,错误将更加明显。我建议使用变量brow而不是columnb。有时您需要的只是稍微更清晰的变量名称,而且bug也很突出。