c - printf 不打印

标签 c char printf

为了了解 c,我有一些“nim”游戏的浅层版本的代码。这部分是关于打印棋盘游戏,预期输出:

---------------
Box 1: ooo
Box 2: oooo
---------------

每个框中“o”的数量由用户输入并作为参数发送到函数。

代码:

#include <stdio.h>
#define NUMBER_OF_BOXES 2
void printBoard(int number_of_balls_1, int number_of_balls_2)
{
   int boxes[NUMBER_OF_BOXES] = {number_of_balls_1, number_of_balls_2};
   printf("---------------\n");
   printBoxes(boxes);
   printf("---------------\n");
}

void printBoxes(int boxes[NUMBER_OF_BOXES])
{
    char ball = 'o';
    for(int i = 0; i < NUMBER_OF_BOXES; i++)
    {
        printf("Box %d: ", i+1);
        for(int j = 0; j < boxes[i]; ++j)
        {
            printf("%c", ball);
        }
        printf("\n");
    }
}

曾经工作(三个小时前),我不知道出了什么问题!现在它给我的只是:

"---------------
Box 0: Box 1: ---------------"

非常感谢您的帮助!

最佳答案

#include <stdio.h>

#define NUMBER_OF_BOXES 2

void printBoxes(const int boxes[NUMBER_OF_BOXES])
{
    char ball = 'o';
    for(int i = 1; i <= NUMBER_OF_BOXES; i++)
    {
        printf("Box %d: ", i);
        for(int j = 0; j < boxes[i-1]; ++j)
        {
            printf("%c", ball);
        }
        printf("\n");
    }
}

void printBoard(const int number_of_balls_1, const int number_of_balls_2)
{
    int boxes[NUMBER_OF_BOXES]= {number_of_balls_1, number_of_balls_2};
    printf("---------------\n");
    printBoxes(boxes);
    printf("---------------\n");
}

关于c - printf 不打印,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31620391/

相关文章:

无法将 float 或 double 转换为 char 数组 (sprintf)

java - 以表格格式打印数组

c - 程序不会将字符存储在c中的二维数组中

c# - C# 16 位字符如何编码所有 Unicode 字符?

mysql - MySQL 4.1 建表麻烦

c - 在C中将字符串添加到字符指针

c - MSP430 printf 函数执行太慢

c - 使用 qsort 对列表进行排序?

c - ebpf - 部分名称

c - 内存中的哪些部分是可写的?