c - 出现不需要的换行符

标签 c loops random newline

每当我运行程序时,它直到换行符之后才开始打印星号,为什么? 这是我的代码:

int main()
{
    int createRow = 0,
        createCol;

    while (createRow <= 5)
    {
        while (createCol <= ((createRow * 2) - 1))
        {
            printf("*");
            createCol++;
        }
        createCol = 1;
        createRow++;

        printf("\n");
    }
    return 0;
}

输出:

*
***
*****
*******
*********
***********
*************
***************
*****************
*******************

如您所见,在第一个星号之前有一个换行符。我该如何解决这个问题?

最佳答案

createCol 未初始化并在赋值之前使用。

进行以下更改

int createRow = 1,
    createCol = 0;  

while (createRow <= 5)
{
    while (createCol <= ((createRow * 2)-1))
    {
       //Loop body
    }
    createCol = 0;
    // Rest of the code
}

关于c - 出现不需要的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28650228/

相关文章:

c - Frama-c 指针不兼容类型

java - 分离循环每次迭代的结果

java - 需要一个非常快速的 Java 机制来以随机顺序迭代哈希表中的条目

Android NDk 和 CLI

c - C中整数到 float 的转换

java - 一个关于java循环的简单程序问题

random - 代表性样本量计算。

python - Weasel 程序,不懂 Python 随机库?

c - 从 C 预处理器获取 "numbered"配置选项的最佳方法是什么?

java - Java 数组中的一堆元素