c - 多维数组C

标签 c arrays

我正在尝试从用户输入(在命令行上)打印一个板,它应该打印这样的内容

board

如果我打印时没有第 23 行,即 (board[i][j] = i, j;),我的结果是这样的。

board2

如果我添加上述行,编译器会给出错误:

expression result unused [-Werror,-Wunused-value]

请让我知道我做错了什么。

#include <stdio.h>
#include <stdlib.h>

#define DIM_MAX 9

int d;
int board[DIM_MAX][DIM_MAX];

int main(int arg, char *argv[])
{
    d = atoi(argv[1]);

    for (int i = 0; i < d; i++)
    {
        for (int j = 0; j < d; j++)
        {     
            board[i][j] = i, j;
            printf(" %i ", board[i][j]);                     
        }
        printf("\n"); 
    }
}

最佳答案

board[i][j] = i, j;

确实是你的问题。要了解原因,请查找 C 中的逗号运算符。 https://en.wikipedia.org/wiki/Comma_operator

您确实需要在该行的 = 右侧同时使用 ij,但不像您当前所做的那样.

关于c - 多维数组C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35005181/

相关文章:

ios - 根据所做的选择将嵌套的 NSArray 转换为 UIScrollview 的图像数组

java - 解析没有键的Json数组

java - 使用流将 boolean 值的 Object[] 转换为 boolean[]

objective-c - 在 Objective-C 中使用 C 风格数组

c - 使用fgets从stdin(终端)读取一行,最大长度是1024?

c - 尝试查找一行中单词的索引(以单词数衡量)

python - 循环修改 NumPy 数组

双向循环链表删除节点的正确方法

c - 在 char* 的静态数组上使用 free()

c++ - 尽管缺少空终止符,为什么指向 char 的 C++ 指针仍充当字符串?